XML 是一種 W3C 推薦的自描述語言,旨在存儲和傳輸數據。開發人員可以在 .NET 應用程序中將 XML 格式更改為任何其他更好的人類可讀格式,如 PDF 或 MS Word 文檔。本文將討論如何使用 C# 通過簡單模板將 XML 數據轉換為 PDF 和 MS Word 報告。
下面討論以下主題:
報告生成 .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 報告。
- 加載您的 XML 數據源。
- 根據加載的 XML 數據定義模板。
- 最後,為報告生成方法提供 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 格式的報告。閱讀本系列報告生成帖子後;從 JSON、CSV、XML 生成 PDF 和 MS Word 報告,您可以開發自己的報告構建 .NET 應用程序。
有關 GroupDocs.Assembly、選項和示例的更多信息,請訪問 文檔 和 GitHub 存儲庫。如需進一步查詢,請通過 論壇 聯繫我們。