从 C# 中的模板生成 Word

自动文档生成对于企业创建动态报告、发票和信函至关重要。通过 Aspose.Words Mail Merge for .NET,您可以高效地从各种来源(包括对象、CSV、JSON 和 XML)填充 Word 模板。本文将介绍如何在 C# 中利用邮件合并实现流畅且自动化的文档工作流程,特别关注 C# .NET 动态 Word 文档创建


涵盖的主题:


Mail Merge for .NET 概述

Aspose.Words Mail Merge for .NET 允许开发人员从包含合并字段的预定义模板生成个性化文档。该插件旨在无缝集成至 .NET 环境,提供以下功能:

  • 动态填充模板,支持 .NET 框架 Word 文档生成
  • 高效执行文档的批量生成,利用 .NET 邮件合并解决方案处理大型数据集
  • 在输出中保持一致的格式,有效提升 C# Word 文档模板最佳实践

主要特性:

  1. 多源支持:使用来自对象、数据库、XML、JSON 和 CSV 的数据,与 C# 一起创建定制的 Word 文档。
  2. 高性能:高效处理大型数据集与批量操作,实现 .NET Core 的动态 Word 文档生成
  3. 可自定义模板:创建带有数据插入占位符的模板,利用 .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 文档,按照以下步骤操作:

以下代码示例演示如何在 C# 中 从模板生成 Word 文档

输出

使用 XML 数据源在 C# 中生成 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 数据源在 C# 中生成 Word 文档

接下来,让我们探讨如何使用 JSON 数据源生成 Word 文档。在本示例中,我们将创建按管理者分组的客户列表。Word 模板将如下所示:

<<foreach [in managers]>>管理者: <<[Name]>>
合同:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>

我们将用以下 JSON 数据源来填充模板:

要从 JSON 生成 Word 文档,我们将使用 JsonDataSource 类来加载数据源,其他步骤与之前的结构保持一致。以下代码示例展示如何在 C# 中 从 JSON 模板生成 Word 文档

输出

使用 CSV 数据源在 C# 中生成 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 模板处理 的能力,并随时通过我们的 论坛 与我们联系。

另见