从模板生成 Word 文档在 C# 中

自动化文档生成对于希望创建动态报告、发票和信件的企业至关重要。使用 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 文档模板最佳实践

主要特点:

  1. 多源支持:使用来自对象、数据库、XML、JSON 和 CSV 的数据创建自定义 Word 文档。
  2. 高性能:高效处理大数据集和批量操作,实现 动态 Word 文档生成与 .NET Core
  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 文档,按照以下步骤进行:

  1. 创建 Document 类的实例,并用 Word 模板的路径初始化它。
  2. 创建并初始化 Sender 类的对象。
  3. 实例化 ReportingEngine 类。
  4. 使用 ReportingEngine.BuildReport() 方法填充模板,该方法接受 Document 的实例、数据源和数据源名称作为参数。
  5. 使用 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 文档,请按照以下步骤操作:

  1. 创建 Document 类的实例,并用 Word 模板的路径初始化它。
  2. 创建 XmlDataSource 类的实例,并用 XML 文件的路径初始化它。
  3. 实例化 ReportingEngine 类。
  4. 使用 ReportingEngine.BuildReport() 方法填充 Word 模板。
  5. 使用 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 模板处理 功能的更多见解,请深入阅读 文档,并随时通过我们的 论坛 联系我们。

另见