ZenosZeng 发表于 2012-4-23 09:09:00

TX Text Control 邮件合并(四)三行代码实现文档合并功能

TX Text Control Server for ASP.NET (incl. Windows Forms) 14.0版本开始添加了一个新的类,通过该类可以非常方便的实现文档合并操作。首先,我们可以使用MS Word、OpenOffice或者TX TemplateDesigner创建一个文档模板,模板中可以包括静态的内容和一些动态的合并域,每个合并域对应模板中的一个可以格式化的命名区域,在编译过程中,该域的值将被相对应的文本域替代。
MailMerge类是一个.NET组件,可以非常容易地在WebForms/WinForms程序中,动态地创建或删除该类的实例。TX Text Control .NET for Windows Forms包含了TextFields和ApplicationFields集合,而且所有文档合并操作都被封装在一个全新的组件中,所有的合并操作仅需三步就可完成:1、加载一个文档模板;2、将需要合并数据传递到模板中;3、保存合并好的文档。mailMerge1.LoadTemplate(Server.MapPath("template.docx"), TXTextControl.DocumentServer.FileFormat.WordprocessingML);
mailMerge1.Merge(mergeData, true);
mailMerge1.SaveDocument(Server.MapPath("results.pdf"), TXTextControl.StreamType.AdobePDF, saveSettings);
MailMerge组件会自动完成模板中合并域与数据源中列名的自动匹配工作,匹配成功的合并域将会自动填充数据,遍历完数据源中所有的数据行之后,文档也就创建完成。合并好的文档可以分开单独存储,也可作为一个文档存储。

下面的结构图展示了模板文档和合并之后的文档:

MailMerge组件还包括一些很有用的功能,我将会在后面的文章中继续介绍,比如:重复显示区域。
页: [1]
查看完整版本: TX Text Control 邮件合并(四)三行代码实现文档合并功能