从模板文件c#创建Word文档

时间:2014-10-21 11:06:31

标签: c# asp.net-mvc openxml

我正在尝试使用OpenXML模板文档在asp.Net MVC应用程序中创建一个word文档。 我面临的主要挑战是

  1. 如何将word文档创建为OpenXML模板?用我的话说 文件我有一些文本段落和每一段我 必须填写数据库中的信息,如word文件 像文本的实例  等等,这些应填写实际数据。但 我不知道如何将普通的word文档转换为OpenXML 模板文件。

  2. 如何使用db中的数据填充值?如果我有一个模型说WordModel与填充的属性值FirstName TotalAmount AmountUnit TotalCopies等,那么我如何填写模板的详细信息并允许用户下载文件?

1 个答案:

答案 0 :(得分:0)

您要执行的操作称为“邮件合并”,意味着使用您的应用程序数据填充充当模板的Word文档。有一些现有的(商业)解决方案,但如果你想自己使用Open XML SDK,你需要设置某种标记机制,你将用它来标记你想要数据的文档的某些部分/应放置数据库中的文本。对于Word文档,您有以下选项:书签,内容控件,合并字段或特殊文本(<%FirstName%>)。我个人会使用内容控件,因为它们提供最佳的用户体验,并且很容易解析和替换。因此,模板将是包含这些标签的普通word文档,然后您可以使用Open XML SDK来解析这些模板,搜索其中的标签,并根据标签的名称/代码/标题将其替换为您的应用程序数据。这是邮件合并处理器的一个非常抽象的高级图片。当然这样的系统不容易实现,并且还注意到使用Open XML需要一些学习。有一个类似的question answered,但你可能会发现更多 - 只是谷歌。