翻譯|使用教程|編輯:胡濤|2022-07-22 10:10:16.673|閱讀 375 次
概述:本文將介紹如何使用 C# 將 XML 轉(zhuǎn)換為 Excel,歡迎下載體驗(yàn)!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
XML (可擴(kuò)展標(biāo)記語言)類似于HTML,但使用不同的標(biāo)簽來定義對(duì)象。它用于存儲(chǔ)和傳輸數(shù)據(jù),而不依賴于軟件或硬件工具。在某些情況下,我們可能需要將數(shù)據(jù)從 XML 導(dǎo)出到 Excel(XLSX或XLS)以進(jìn)行進(jìn)一步處理。Excel 文件被廣泛用于存儲(chǔ)和組織數(shù)據(jù)。在本文中,我們將學(xué)習(xí)如何使用 C# 將 XML 轉(zhuǎn)換為 Excel。
為了將 XML 轉(zhuǎn)換為 Excel,我們將使用Aspose.Cells for .NET API。它是一個(gè)功能豐富且功能強(qiáng)大的 API,允許以編程方式執(zhí)行 Excel 自動(dòng)化功能,而無需 Microsoft Excel 應(yīng)用程序。
API的Workbook類代表一個(gè) Excel 電子表格。它允許打開和保存本地 Excel 文件。它還提供了從其他工作簿復(fù)制數(shù)據(jù)、合并兩個(gè)工作簿和保護(hù) Excel 電子表格的方法。此類允許使用ImportXml()方法將 XML 數(shù)據(jù)文件導(dǎo)入工作簿。此類的save()方法允許以指定格式保存工作簿。
請(qǐng)下載API 的 DLL 或使用NuGet安裝它。
PM> Install-Package Aspose.Cells
我們可以按照以下步驟輕松地將 XML 數(shù)據(jù)文件轉(zhuǎn)換為 Excel 工作簿:
下面給出的代碼示例顯示了如何使用 C# 將 XML 轉(zhuǎn)換為 Excel。
// This code example demonstrates how to import XML data file in Excel. // Data folder path var dataDir = @"C:\Files\"; // Create an instance of the Workbook class Workbook workbook = new Workbook(); // Import XML into workbook // It takes XML file path, destination sheet name, destination row and column as arguments. workbook.ImportXml(dataDir + "Catalog.xml", "Sheet1", 0, 0); // Save the workbook as XLSX workbook.Save(dataDir + "data_xml.xlsx", Aspose.Cells.SaveFormat.Auto);
我們需要?jiǎng)?chuàng)建一個(gè)帶有 HTML 布局的XSLT文件,以便在表格中呈現(xiàn)我們的數(shù)據(jù)。XSL 文件是一種樣式表,可用于將 XML 文檔轉(zhuǎn)換為其他文檔類型并格式化輸出。我們將僅在 XSLT 文件中包含用于轉(zhuǎn)換為 Excel 所需的列。將幫助我們執(zhí)行此操作的 XSL 文件可能如下所示:
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th style="text-align:left">Title</th> <th style="text-align:left">Artist</th> <th style="text-align:left">Price</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td> <xsl:value-of select="title"/> </td> <td> <xsl:value-of select="artist"/> </td> <td> <xsl:value-of select="price"/> </td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
我們可以按照以下步驟將 XML 數(shù)據(jù)文件中的特定列導(dǎo)入 Excel 工作簿:
下面給出的代碼示例顯示了如何使用 C# 將特定列從 XML 轉(zhuǎn)換為 Excel。
// This code example demonstrates how to import specific columns from an XML data file in Excel. // Data folder path var dataDir = @"C:\Files\"; // Read XML file content var XmlContent = File.ReadAllText(dataDir + "Catalog.xml"); // Read XSLT file content var XsltContent = File.ReadAllText(dataDir + "CatalogXSLX.xslt"); // Transform XML and get content in MemoryStream var xmlContent = TransformXml(XmlContent, XsltContent); // Create workbook var workbook = new Workbook(xmlContent); workbook.Worksheets[0].AutoFitRows(); workbook.Worksheets[0].AutoFitColumns(); // Save the workbook as XLSX workbook.Save(dataDir + "SpecificColumnsData_xml.xlsx", Aspose.Cells.SaveFormat.Auto);
在本文中,我們學(xué)習(xí)了如何使用 C# 將 XML 文件中的數(shù)據(jù)導(dǎo)入 Excel。我們還了解了如何從 XML 文件中提取特定列數(shù)據(jù)并以編程方式將其轉(zhuǎn)換為 Excel。此外,您可以使用文檔了解更多關(guān)于 Aspose.Cells for .NET API 的 信息
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn