在C#生成OpenXML Word文档时,调试损坏的文档的最佳实践

7
我正在使用C#的OpenXml包生成MS Word文档。很多时候我会看到这个错误信息: The file .docx can not be opened because there are problems with the contents 这个错误信息并不太有用:它只说问题出现在页脚。大多数情况下,它会说错误出现在第1行,第1个字符。
我通常能找到问题,但来回查找需要太多时间。
是否有任何工具/技术可以帮助调试此类错误?显示更好的错误,比如你正在尝试在Run之外添加Text之类的东西?
1个回答

8

在网上搜索后,我找到了一些可以减轻痛苦的工具。甚至写了一篇博客文章: http://tech.trailmax.info/2014/04/validating-of-openxml-generated-documents-or-the-file-cannot-be-opened-because-there-are-problems-with-contents/

基础知识如下:

  1. 有一个 OpenXmlValidator 类。使用方法如下: http://msdn.microsoft.com/en-us/library/office/bb497334%28v=office.15%29.aspx
  2. 有一个Open Xml Package Explorer 适用于 VSCode - 用于手动调整您的内容和稍微更好的错误消息。

如果您知道其他(更好)的方法,请告诉我!


1
遇到了同样的问题,但我是用PHP生成它们,并且没有Windows环境,所以这并没有真正解决我的问题。但是,在经过漫长的谷歌搜索和厌倦了将我的document.xml与从Word中恢复的文件进行痛苦比较并找出它不喜欢什么的过程后,您的博客文章是我能找到的第一个有用的信息。谢谢! - Matej Svajger
欢迎,我也很惊讶关于这方面的信息如此缺乏。 - trailmax
验证器救了我的命! - Moshe L
可能需要更新Open XML Package Explorer的链接为https://marketplace.visualstudio.com/items?itemName=sergey-tihon.openxml-explorer。 - lemonskunnk
@lemonskunnk 太棒了,谢谢! - trailmax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接