使用c#创建docx OOXML

时间:2017-04-14 14:49:09

标签: c# ms-word openxml

我希望在正确的方向上有一个好点,因为这是我从未做过的事情,谷歌搜索让我陷入困境。

我想在ASP.NET MVC应用程序上从C#创建一个word文档(docx)。

使用邮件合并等方式填充模板会很棒。

我花了一天时间搜索这个并继续查找存档的文档。

以下示例来自2012年 https://msdn.microsoft.com/en-us/library/office/bb491088.aspx

2 个答案:

答案 0 :(得分:1)

因为您将在服务器上生成文档,所以应该避免Interop进行文档操作。您可以使用基于OpenXML的免费库和SDK,但这很难学习并且容易出错。

选择第三方工具包中的一个来快速轻松地完成工作可能是有意义的。首先准备带有数据占位符的MS Word模板文档。然后,您可以使用c#加载报表的数据,并将数据与模板合并以获取最终文档(docx,pdf,xps或图像格式)。以下是将数据库中的数据与模板合并以获取pdf文档所需的一个toolkit所使用的代码:

IEnumerable<Customer> customers = DataAccess.GetCustomerById(15);
DocumentGenerator dg = new DocumentGenerator(customers);
DocumentGenerationResult result = dg.GenerateDocument("MyTemplate.docx", "MyReport.pdf");

您还可以查看这些examples 以获取更多信息。

答案 1 :(得分:0)

也许Templater可以提供帮助.. 这是一个小型库,可以用来在ASP.NET上创建word文档,看起来像邮件合并... 试试demo http://templater.info/demo