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