我需要从代码中填充 Word 2007 文档,包括重复的表格部分 - 目前我在 docx 的 document.xml 部分使用 XML 转换,但是设置起来非常耗时(每次编辑模板文档时) ,您必须重新创建 transform.xsl 文件,对于复杂的文档可能需要一天的时间)。
有没有更好的方法,最好是不需要您在此过程中运行Word 2007 的方法?
问候理查德
我尝试自己为此目的编写一些代码,但放弃了。现在我使用了第 3 方产品:Aspose Words,并且对该组件非常满意。
它不需要机器上的 Microsoft Word。
“Aspose.Words 使 .NET 和 Java 应用程序能够在不使用 Microsoft Word® 的情况下读取、修改和编写 Word® 文档。”
“Aspose.Words 支持广泛的功能,包括文档创建、内容和格式处理、强大的邮件合并功能、对 DOC、OOXML、RTF、WordprocessingML、HTML、OpenDocument 和 PDF 格式的全面支持。Aspose.Words 确实是最实惠的,市场上最快且功能丰富的 Word 组件。”
免责声明:我不隶属于该公司。
由于 DOCX 文件只是一个包含带有图像和 XML 文件的文件夹结构的 ZIP 文件,因此您应该能够使用我们最喜欢的 XML 操作 API 来操作这些 XML 文件。格式规范称为WordprocessingML,它是Office Open XML 标准的一部分。
我想我会提到它,以防 splattne 建议的第 3 方工具不是一个选项。
您是否考虑过使用 Microsoft 的 Open XML SDK?唯一依赖于 .NET 3.5。
文档:http://msdn.microsoft.com/en-us/library/bb448854%28office.14%29.aspx
下载:http://www.microsoft.com/downloads/details.aspx?familyid=C6E744E5-36E9-45F5-8D8C-331DF206E0D0&displaylang=en
使用调用 docx 库。它支持表格数据(http://invoke.co.nz/products/help/docx_tables.aspx)。更多信息请访问http://invoke.co.nz/products/docx.aspx
你考虑过用VB吗?您可以创建一个单独的程序集来填充您的文档。
我知道您正在寻找 C# 解决方案,但 XML 文字支持是 XML 文字支持可以帮助您填充文档的一个领域。在 Word 中创建一个文档到服务器作为模板,解压缩 docx,将您要更改的相关 XML 部分粘贴到您的 VB 代码中,然后添加代码以填写您要更改的部分。从您的描述中很难说这是否符合您的要求,但我建议您调查一下。