我有一个可用的 ASP.NET MVC Web 应用程序来管理项目和客户。现在我想为一些客户生成一个word文件。在此文件中应显示有关客户的一些数据。每个生成的文件都应该具有相同的数据和相同的设计。因此,我想创建一个包含字段的新 Word 模板,并希望以编程方式填充占位符。
我的问题是我找不到明确的方法来做到这一点。有谁知道好的学习资源吗?
尝试此页面:
Open XML 文件 (docx) 是包含 XML 文件的 ZIP 包。对于您的情况,我将创建原始模板的副本,然后使用
System.IO.Packaging
API 打开文件并修改它。通过打开正确的 XML 文件并替换 XML 中的某些占位符,您应该能够实现您想要的结果。
在尝试做同样的事情时,我发现了一些在 .Net 中创建/编辑 DOC 或 DOCX 的库
从模板文件(.dot)生成新文档应该很容易,我认为这是您在打开的word应用程序文件中指定的参数,当您传递.dot文件的路径时,告诉word创建基于该文件的新 .doc,而不是编辑实际的模板文档。
对于表单字段和书签填充,网上有很多关于如何使用 C# 执行此操作的示例,请参见此处:
一个简单的解决方案是使用类似 DocXGenerator 的东西。它根据word文件模板和json数据生成word格式的报告。您可以根据需要自由设置模板格式。
示例: 模板文件:
带有一些json数据,例如:
{"StudentData": [
{
"Name": "Ahmed",
"Results": [
{
"CourseName": "Math",
"Mark": 45
},
{
"CourseName": "Physics",
"Mark": 76
}
]
},
{
"Name": "John",
"Results": [
{
"CourseName": "Math",
"Mark": 71
},
{
"CourseName": "Physics",
"Mark": 87
}
]
},
{
"Name": "Kassem",
"Results": [
{
"CourseName": "Math",
"Mark": 67
},
{
"CourseName": "Physics",
"Mark": 91
}
]
}]}
你得到: