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

时间:2014-10-21 10:08:37

标签: c# .net ms-word mailmerge

我正在尝试使用MailMerge interface在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")

非常感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:1)

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

我对Docentric Toolkit有很好的经验。我已经使用它三年了。所以这是它的优点和缺点:

优点:

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

缺点:

  • 不自由
  • 对PDF输出的支持仍然有限。

您可以在代码项目上看到this article,以获得关于使用此工具包将数据(来自XML,数据库,内存中......)与适当模板合并的第一印象。