2011-09-07 89 views
9

我有一个可用的ASP.NET MVC Web应用程序来管理项目和客户。现在我想为某些客户生成一个word文件。在这个文件中应该显示一些关于客户的数据。每个生成的文件应该有相同的数据和相同的设计。所以我想用这些字段来创建一个新的Word模板,并且想要以编程方式填充占位符。如何从C#中的模板创建* .docx文件

我的问题是,我找不到明确的方法来做到这一点。有人知道一个好的学习资源吗?

回答

10

试试这个页面:

Building Office Open XML Files

的Open XML文件(docx)是包含XML文件的ZIP包。在你的情况下,我会创建一个原始模板的副本,然后使用System.IO.Packaging API打开该文件并对其进行修改。通过打开正确的XML文件并用XML替换某些占位符,您应该能够实现您想要的结果。

+0

这就是方式,或者说引用的链接就是方式 - 你真的不想“自动化”(以编程方式控制)单词 - 这会让你在模板和数据之间有一个很好的分离。文章中的关键术语是“XML数据存储”和“内容控制” – Murph

0

对于从模板文件(.dot)生成新文档应该非常容易,我认为它是一个参数,您在应用程序文件中打开或打开时指定的参数,当您传递.dot文件的路径时,词来创建一个基于该文件的新的.doc,而不是编辑实际的模板文档。

表单域和书签充盈,大量的例子网上关于如何从C#这样做,在这里看到:

MS Word Office Automation - Filling Text Form Fields And Check Box Form Fields And Mail Merge