XML 是一种 W3C 推荐的自描述语言,旨在存储和传输数据。开发人员可以在 .NET 应用程序中将 XML 格式更改为任何其他更好的人类可读格式,例如 PDF 或 MS Word 文档。本文将讨论如何通过简单的模板使用 C# 将 XML 数据转换为 PDF 和 MS Word 报告。

C# 中的 XML 到 PDF 报告

下面讨论以下主题:

报告生成 .NET API – XML 到 PDF 和 WORD

GroupDocs.Assembly for .NET 是使用 DOCXTXT 模板从 XML 数据自动生成报告的 API。此外,它还支持**JSON、CSV、**等数据源,将数据转换为不同文件格式的报表。

您可以从 下载部分 下载 DLLsMSI 安装程序,或通过 NuGet 在您的 .NET 应用程序中安装 API。

PM> Install-Package GroupDocs.Assembly

在 C# 中从 XML 数据生成 PDF 报告

3 个简单的步骤将引导您将 XML 数据转换为格式化的 PDF 报告。

  1. 加载您的 XML 数据源。
  2. 根据加载的 XML 数据定义模板。
  3. 最后,为报表生成方法提供 XML 数据源和模板。

XML 数据

以下 XML 示例数据用于将其转换为 PDF 报告。它包含经理及其各自客户的数据以及更多详细信息。

<Managers>
	<Manager>
		<Name>John Smith</Name>
		<Contract>
			<Client>
				<Name>A Company</Name>
			</Client>
			<Price>1200000</Price>
		</Contract>
		<Contract>
		...
		</Contract>
		...
	</Manager>
	<Manager>
		<Name>Tony Anderson</Name>
		...
	</Manager>
	...
</Managers>

模板

根据您的源 XML 数据定义 TXT 或 DOCX 格式的模板。我正在使用下面提到的模板,它是根据上面提到的经理的 XML 数据创建的。这将使报告生成器迭代经理及其各自的客户。模板完成后,您就差不多完成了。您可以使用以下代码生成报告。

<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>

C# 步骤从 XML 生成 PDF 报告

以下步骤允许您根据定义的模板自动从 XML 数据生成 PDF 报告。

  • 定义 XML 数据文件、文本模板文件和 PDF 输出报告文件。
  • 用 XML 数据文件实例化 XMLDataSoure
  • 使用已定义的 XML 数据源创建 DataSourceInfo
  • 调用AssembleDocument方法生成PDF报告。

以下代码实现了上述步骤并使用 C# 从 XML 数据源生成 PDF。

// 在 CSharp 中使用 TXT 模板从 XML 数据生成 PDF 报告
// 定义数据源、模板和输出报告文件。
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-pdf-report.pdf";
// 加载 XML 数据源
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// 组装文档以生成 PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

在 C# 中从 XML 数据生成 MS Word 报告

同样,您还可以使用相同的 XML 数据创建 MS Word DOC/DOCX 格式的报告。与我们上面讨论的代码没有区别,只是您必须更改输出文件名。

  • 加载 XML 数据文件。
  • 以 TXT 或 DOCX 格式定义模板。
  • 设置输出报表文档格式为DOCX。
  • 将 XML 数据文件、模板和输出文件路径提供给 DocumentAssembler 以将 XML 转换为 DOCX。

以下代码使用 C# 定义的模板转换 XML 并生成 DOCX 文件。

// 使用 CSharp 中的文本模板从 XML 数据生成 MS Word 报告
// 定义数据源、模板和输出报告文件。
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-word-report.docx";
// 加载 XML 数据源
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// 组装文档以生成 Word 报告
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

获取免费 API 许可证

您可以 获得免费的临时许可证 以便在没有评估限制的情况下使用 API。

结论

总而言之,您已经学会了使用 C# 和 .NET 应用程序将 XML 数据转换为 PDF 格式作为报告。此外,我们还讨论了使用模板从同一 XML 生成 DOC/DOCX 格式的报告。在阅读了这一系列报告生成帖子之后;从 JSONCSVXML 生成 PDF 和 MS Word 报告,您可以开发自己的报告构建 .NET 应用程序。

有关 GroupDocs.Assembly、选项和示例的更多信息,请访问 文档GitHub 存储库。如需进一步查询,请通过 论坛 联系我们。

也可以看看