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