
自动化文档生成对于希望创建动态报告、发票和信件的企业至关重要。使用 Aspose.Words Mail Merge for .NET,您可以高效地从各种来源(包括对象、CSV、JSON 和 XML)填充 Word 模板。本文将指导您如何在 C# 中利用邮件合并进行简化和自动化的文档工作流,重点是 动态 Word 文档创建。
涵盖的主题:
Mail Merge for .NET 概述
Aspose.Words Mail Merge for .NET 使开发人员能够从包含合并字段的预定义模板生成个性化文档。该插件旨在无缝集成到 .NET 环境中,提供以下功能:
- 动态填充模板数据,支持 .NET 框架 Word 文档生成。
- 高效执行批量文档生成,利用 .NET 邮件合并解决方案处理大数据集。
- 确保输出格式一致,增强 C# Word 文档模板最佳实践。
主要特点:
- 多源支持:使用来自对象、数据库、XML、JSON 和 CSV 的数据创建自定义 Word 文档。
- 高性能:高效处理大数据集和批量操作,实现 动态 Word 文档生成与 .NET Core。
- 可定制模板:创建带有数据插入占位符的模板,利用 .NET Word 邮件合并自动化 功能。
设置
要开始,请使用 NuGet 安装 Aspose.Words:
PM> Install-Package Aspose.Words
使用 C# 对象从模板生成 Word 文档
让我们开始使用 C# 对象填充 Word 模板。我们将创建一个 Word 文档(DOC/DOCX),其占位符如下:
<<[sender.Name]>> 说: "<<[sender.Message]>>."
在此示例中,sender 是一个类的实例,我们将使用它通过 C# 从数据库生成 Word 文档 方法填充模板。
接下来,我们将使用 Aspose.Words 的报告引擎从模板和 Sender 类的实例生成 Word 文档,按照以下步骤进行:
- 创建 Document 类的实例,并用 Word 模板的路径初始化它。
- 创建并初始化 Sender 类的对象。
- 实例化 ReportingEngine 类。
- 使用 ReportingEngine.BuildReport() 方法填充模板,该方法接受 Document 的实例、数据源和数据源名称作为参数。
- 使用 Document.Save() 方法保存生成的 Word 文档。
以下是演示如何在 C# 中 从模板生成 Word 文档 的代码示例。
输出

从 XML 数据源生成 Word 文档
要从 XML 数据源生成 Word 文档,我们将使用一个更复杂的 Word 模板,其占位符如下:
<<foreach [in persons]>>姓名: <<[Name]>>, 年龄: <<[Age]>>, 出生日期: <<[Birth]:"dd.MM.yyyy">>
<</foreach>>
平均年龄: <<[persons.Average(p => p.Age)]>>
此示例中使用的 XML 数据源如下所示。
要从 XML 数据源创建 Word 文档,请按照以下步骤操作:
- 创建 Document 类的实例,并用 Word 模板的路径初始化它。
- 创建 XmlDataSource 类的实例,并用 XML 文件的路径初始化它。
- 实例化 ReportingEngine 类。
- 使用 ReportingEngine.BuildReport() 方法填充 Word 模板。
- 使用 Document.Save() 方法保存生成的 Word 文档。
以下是演示如何在 C# 中 从 XML 数据源生成 Word 文档 的代码示例。
输出

从 JSON 数据源生成 Word 文档
接下来,让我们探索如何使用 JSON 数据源生成 Word 文档。在此示例中,我们将创建一个按经理分段的客户列表。Word 模板将如下所示:
<<foreach [in managers]>>经理: <<[Name]>>
合同:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
我们将用于填充模板的相应 JSON 数据源如下:
要从 JSON 生成 Word 文档,我们将使用 JsonDataSource 类加载数据源,其余步骤将遵循先前的结构。以下是演示如何在 C# 中 从 JSON 模板生成 Word 文档 的代码示例。
输出

从 CSV 数据源生成 Word 文档
要从 CSV 源生成 Word 文档,我们将利用以下 Word 模板:
<<foreach [in persons]>>姓名: <<[Column1]>>, 年龄: <<[Column2]>>, 出生日期: <<[Column3]:"dd.MM.yyyy">>
<</foreach>>
平均年龄: <<[persons.Average(p => p.Column2)]>>
该模板将使用以下 CSV 数据填充:
现在,让我们回顾一下 C# 代码。步骤保持不变,唯一的关键区别是:我们将使用 CsvDataSource 类加载 CSV 数据。以下代码示例演示如何 从 CSV 数据源生成 Word 文档。
输出

免费试用 Aspose.Words for .NET
您可以使用免费的 临时许可证 尝试 Aspose.Words for .NET。
结论
在本文中,您学习了如何使用 C# 从模板生成 Word 文档。您探索了如何利用对象、XML、JSON 和 CSV 等各种数据源进行 动态文档生成在 .NET 中。有关 .NET Word 模板处理 功能的更多见解,请深入阅读 文档,并随时通过我们的 论坛 联系我们。