XML 是一種 W3C 推薦的自描述語言,旨在存儲和傳輸數據。開發人員可以在 .NET 應用程序中將 XML 格式更改為任何其他更好的人類可讀格式,如 PDF 或 MS Word 文檔。本文將討論如何使用 C# 通過簡單模板將 XML 數據轉換為 PDF 和 MS Word 報告。

C# 中的 XML 到 PDF 報告

下面討論以下主題:

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

GroupDocs.Assembly for .NET 是使用 DOCX 或 TXT 模板從 XML 數據自動生成報告的 API。此外,它還支持JSON、CSV等數據源,將數據轉換成不同文件格式的報表。

您可以從 下載部分 下載 DLL 或 MSI 安裝程序,或通過 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。
  • DocumentAssembler 提供 XML 數據文件、模板和輸出文件路徑,以將 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 格式的報告。閱讀本系列報告生成帖子後;從 JSONCSV、XML 生成 PDF 和 MS Word 報告,您可以開發自己的報告構建 .NET 應用程序。

有關 GroupDocs.Assembly、選項和示例的更多信息,請訪問 文檔GitHub 存儲庫。如需進一步查詢,請通過 論壇 聯繫我們。

也可以看看