以编程方式填充MS Word合并字段记录

本文关键字:合并 字段 记录 Word MS 编程 方式 填充 | 更新日期: 2023-09-27 18:27:20

我正在尝试使用MailMerge接口在C#中动态加载邮件合并收件人及其记录。我使用MailMerge.CreateDataSource方法加载了标头,该方法在HeaderRecord中提供了一个逗号分隔的字符串。当我运行Word时,这些字段会显示出来,但问题是我找不到任何方法来填充它的记录。目前我的做法是制作以下csv文件,并使用MailMerge.OpenDataSource方法加载此数据源:

Name, Age, Gender, Country, Email
Dummy1, Male, 20, England, dummy1@gmail.com
Dummy2, Male, 21, Spain, dummy2@gmail.com
Dummy3, Male, 22, France, dummy3@gmail.com

我的要求是在不创建任何外部文件的情况下加载数据,我正在寻找类似于的东西

MailMerge.AddRecord("Dummy1, Male, 20, England, dummy1@gmail.com")

以编程方式填充MS Word合并字段记录

我的建议是使用带有OpenXML的完全托管.NET解决方案。由于OpenXML有陡峭的学习曲线,所以寻找一个使用这种方法的工具包可能是有意义的。

我对Doccentral Toolkit有很好的经验。我已经用了三年了。以下是它的优缺点:

优点:

  • 用于生成模板的纯简单Word加载项
  • 基于OpenXML,服务器端友好
  • 支持图像、数据绑定图、表格
  • 模板中的条件元素支持标头中的占位符和页脚
  • 非常快速的报告生成

缺点:

  • 不免费
  • 对PDF输出的支持仍然有些有限

您可以在代码项目上看到这篇文章,了解如何使用此工具包将数据(来自XML、数据库、内存等)与适当的模板进行合并。