在C#中填充Word 2007模板的最佳方法是什么?

时间:2008-11-14 12:24:07

标签: c# ms-word openxml docx word-2007

我需要从代码中填充Word 2007文档,包括重复表部分 - 目前我在docx的document.xml部分使用XML转换,但设置非常耗时(每次编辑时)在模板文档中,您必须重新创建transform.xsl文件,复杂文档最多可能需要一天时间。)

有没有更好的方法,最好是在此过程中不需要运行 Word 2007的方法?

此致 理查德

5 个答案:

答案 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)

答案 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代码中,并添加代码以填充要更改的部分。如果这符合您的要求,很难从您的描述中说出来,但我建议您进行调查。