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

问题描述 投票:1回答:1

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

Name, Age, Gender, Country, Email
Dummy1, Male, 20, England, [email protected]
Dummy2, Male, 21, Spain, [email protected]
Dummy3, Male, 22, France, [email protected]

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

MailMerge.AddRecord("Dummy1, Male, 20, England, [email protected]")
c# .net ms-word mailmerge
1个回答
1
投票

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

我在Docentric Toolkit方面拥有丰富的经验。我已经使用了三年了。所以这是它的优点和缺点:

优点:

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

缺点:

  • 非免费
  • 对PDF输出的支持仍然受到一定限制。

您可以在Code Project上看到this article,以获取关于使用此工具包合并具有适当模板的数据(来自XML,数据库,内存中,...)的第一印象。

© www.soinside.com 2019 - 2024. All rights reserved.