跳過到頁腳內容
使用 IRONXL

如何在 C# 中將 Excel 文件轉換為 XML

Microsoft Excel是一款功能多樣的電子表格應用程序,因其在組織、分析和可視化數據方面的有效性而廣受歡迎。 它的工作方式類似於一個網格,用戶可以在單個單元格中輸入各種類型的輸入,如文本、數字、日期和公式,數據按照行和列安排,便於管理。 其強大的公式和函數計算功能使用戶能夠執行廣泛的邏輯、統計和數學任務。

Excel 提供管理和評估數據以及生成圖形和圖表以直觀表示數據的工具。 它允許多個用戶同時編輯和共享文件,從而促進協作。 由於其適應各行業用戶需求的靈活性,可以使用宏、VBA和外掛來定製和自動化。 Excel工作簿類在包括銀行、教育、研究和商業分析在內的多個領域中使用。 它是用於組織、評估和利用數據以做出決策的重要工具。 在本文中,我們將學習如何在C#中將Excel轉換為XML。

在C#中將Excel文件(XLS)轉換為XML格式

  1. 在Visual Studio中創建一個控制台項目。
  2. 安裝IronXL庫。
  3. 初始化IronXL的必要對象。
  4. 創建一個新的Excel文件(XLS或XLSX),或將Excel文件加載到創建的對象中。
  5. 使用XMLSaveOptions類中的SaveAsXml方法將加載的文件轉換為XML。
  6. 處置IronXL對象。
using IronXL;

class Program
{
    static void Main()
    {
        // Step 2: Install IronXL library

        // Step 3: Initialize IronXL object
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        // Step 4: Create or load Excel file
        // Create a new Excel file
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");
        worksheet["A1"].Value = "Hello";
        worksheet["B1"].Value = "World";

        // Or load an existing Excel file
        workbook = WorkBook.Load("path_to_excel_file.xlsx");

        // Step 5: Convert Excel to XML
        XMLSaveOptions saveOptions = new XMLSaveOptions();
        workbook.SaveAsXml("path_to_output_xml_file.xml", saveOptions);

        // Step 6: Dispose of the IronXL objects
        worksheet.Dispose();
        workbook.Dispose();
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Step 2: Install IronXL library

        // Step 3: Initialize IronXL object
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        // Step 4: Create or load Excel file
        // Create a new Excel file
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");
        worksheet["A1"].Value = "Hello";
        worksheet["B1"].Value = "World";

        // Or load an existing Excel file
        workbook = WorkBook.Load("path_to_excel_file.xlsx");

        // Step 5: Convert Excel to XML
        XMLSaveOptions saveOptions = new XMLSaveOptions();
        workbook.SaveAsXml("path_to_output_xml_file.xml", saveOptions);

        // Step 6: Dispose of the IronXL objects
        worksheet.Dispose();
        workbook.Dispose();
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main()
		' Step 2: Install IronXL library

		' Step 3: Initialize IronXL object
		Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

		' Step 4: Create or load Excel file
		' Create a new Excel file
		Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Sheet1")
		worksheet("A1").Value = "Hello"
		worksheet("B1").Value = "World"

		' Or load an existing Excel file
		workbook = WorkBook.Load("path_to_excel_file.xlsx")

		' Step 5: Convert Excel to XML
		Dim saveOptions As New XMLSaveOptions()
		workbook.SaveAsXml("path_to_output_xml_file.xml", saveOptions)

		' Step 6: Dispose of the IronXL objects
		worksheet.Dispose()
		workbook.Dispose()
	End Sub
End Class
$vbLabelText   $csharpLabel

在上述代碼中,我們首先安裝了IronXL庫。 然後,我們初始化IronXL對象並創建或加載Excel文件。最後,我們使用XMLSaveOptions類中的SaveAsXml方法將加載的文件轉換為XML。 使用後不要忘記處置IronXL對象。

什麼是IronXL

一個強大的.NET框架Excel庫稱為IronXL,旨在促進用C#、VB.NET和其他.NET語言編寫的Excel文件的操作。 它與XLS和XLSX文件格式兼容。 使用此庫,開發人員可以更快和更簡單地編寫、讀取、編輯和生成Excel電子表格。 還提供了大量的工具和功能。

IronXL的主要特徵和屬性包括:

  • 數據處理:IronXL使讀取、寫入和操作Excel電子表格中的數據變得容易。 可以使用二維數組獲取單元格值,而公式、計算和數據格式化都是可能的。
  • Excel文件創建和修改:開發人員可以創建新Excel文件和修改已存在的文件,此外還能添加、刪除和管理工作表。此外,他們可以使用DLL文件與各種Excel組件進行通信。
  • 多功能性和兼容性:由於跨平台的互操作性,IronXL可在多種應用場景中使用,並可與多個.NET平台集成,包括Xamarin, .NET Core和.NET Framework。
  • 支持舊版和現代Excel格式:支持較舊的XLS Excel格式和較新的XLSX Excel格式。 它可以處理較新的基於XML的格式(XLSX,來自Excel 2007)以及較舊的Excel文件格式(XLS,來自Excel 97–2003)。
  • 易用性:通過提供一個具有易於理解的屬性和功能的簡單API,該庫提高了具備不同經驗水平的開發人員的Excel相關活動的可訪問性。
  • 數據提取和導出:IronXL促進了從Excel文件中提取數據並將Excel數據導出到多種格式(如XML、新DataTable和純文本),使其簡單地與數據庫和其他系統對接。
  • 支持和文檔:IronXL提供大量的教程、文檔和支持幫助開發者使用其庫進行Excel相關活動。
  • 自動化和效率:通過自動化Excel流程,IronXL使用戶能夠構建數據驅動、高效的應用程序,提高工作效率,減少手工勞動。
  • 集成和定制化:它通過將Excel數據選項導出為多種格式,使創建個性化報告和數據驅動解決方案變得更容易。 它也與數據庫和其他系統兼容良好。

財務、數據分析、報告、商業智能和軟件開發只是使用IronXL的一些行業之一。 結合數據操作與Excel集成使程序員能夠處理Excel文件並提供可靠的解決方案。 要了解更多,請訪問此鏈接

創建一個新的 Visual Studio 專案

設置Visual Studio控制台項目很簡單。 遵循以下步驟創建控制台應用程序:

  1. 打開Visual Studio。 確保在電腦上已安裝Visual Studio。
  2. 創建一個新項目: 選擇 文件 > 新建 > 項目

    如何將Excel文件轉換為XML在C#:圖例1 - 新建項目

  3. 從 "創建新項目" 框的左側選擇您偏好的程式語言(例如,C#)。
  4. 從可用項目模板列表中選擇 "Console App" 或 "Console App (.NET Core)" 模板。
  5. 在 "名稱" 欄中提供您項目的名稱。

    如何將Excel文件轉換為XML在C#:圖例2 - 項目配置

  6. 選擇儲存您的項目的位置。
  7. 點擊 "創建" 開始新控制台應用程序項目的工作。

    如何將Excel文件轉換為XML在C#:圖例3 - 目標框架

安裝 IronXL 庫

要安裝IronXL庫,請按照以下步驟操作:

  1. 安裝IronXL庫是後續步驟所必需的。 在NuGet Package Manager Console中使用以下命令:

    Install-Package IronXL
    Install-Package IronXL
    SHELL

    如何將Excel文件轉換為XML在C#:圖例4 - 安裝IronXL

  2. 另一種方法是使用NuGet Package Manager搜索 "IronXL" 套件。 從搜索結果中選擇合適的IronXL NuGet包。

    如何將Excel文件轉換為XML在C#:圖例5 - IronXL

在C#中將Excel文件轉換為XML

您可以使用IronXL的SaveAsXml函數將Excel文件中的資料儲存為XML文件格式。

以下是如何在C#中使用IronXL的SaveAsXml函數的示例:

using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Specify the path to your existing Excel file
        string excelFilePath = "path_to_excel_file.xlsx";
        // Specify the path to where the resulting XML file should be saved
        string xmlFilePath = "path_to_output_xml_file.xml";

        // Load Excel file using IronXL
        WorkBook workbook = WorkBook.Load(excelFilePath);

        // Save Excel data as XML
        workbook.SaveAsXml(xmlFilePath);

        Console.WriteLine("Excel data saved as XML successfully at: " + xmlFilePath);
    }
}
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Specify the path to your existing Excel file
        string excelFilePath = "path_to_excel_file.xlsx";
        // Specify the path to where the resulting XML file should be saved
        string xmlFilePath = "path_to_output_xml_file.xml";

        // Load Excel file using IronXL
        WorkBook workbook = WorkBook.Load(excelFilePath);

        // Save Excel data as XML
        workbook.SaveAsXml(xmlFilePath);

        Console.WriteLine("Excel data saved as XML successfully at: " + xmlFilePath);
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Specify the path to your existing Excel file
		Dim excelFilePath As String = "path_to_excel_file.xlsx"
		' Specify the path to where the resulting XML file should be saved
		Dim xmlFilePath As String = "path_to_output_xml_file.xml"

		' Load Excel file using IronXL
		Dim workbook As WorkBook = WorkBook.Load(excelFilePath)

		' Save Excel data as XML
		workbook.SaveAsXml(xmlFilePath)

		Console.WriteLine("Excel data saved as XML successfully at: " & xmlFilePath)
	End Sub
End Class
$vbLabelText   $csharpLabel

要儲存生成的XML文件,請用合適的地方替換 "path_to_output_xml_file.xml" 並用實際Excel文件的路徑替換 "path_to_excel_file.xlsx"。

這個代碼樣本將Excel文件載入並使用由IronXL提供的SaveAsXml函數將Excel文件數據轉換為XML格式,而無需手動遍歷行和列以構建XML。 此方法內部將Excel數據轉換為XML格式,然後保存至指定的XML文件。

確保您有權限寫入目錄以保存XML文件。原始Excel文件的內容和布局可能會影響生成的XML類型和結構。

輸入文件:

如何將Excel文件轉換為XML在C#:圖例6 - Excel輸入

結果:

如何將Excel文件轉換為XML在C#:圖例7 - XML輸出

要了解更多關於代碼的信息,請參閱此處的代碼示例

結論

使用IronXL的SaveAsXml函數從Excel文件導出數據到XML格式是一種簡單而有效的方法。 此方法消除了在將Excel數據轉換為XML格式時手動遍歷行和單元格的需要。 IronXL是一個提供此功能的.NET庫。

通過在C#中使用IronXL的SaveAsXml函數,用戶可以輕鬆快捷地將Excel數據轉換為XML格式。 IronXL提供帶有非商業用途限制的免費社區版。 IronXL的付費版本可以通過訂閱或永久授權模式獲得,價格從$799起。 這些付費版本提供增強的功能、支持和完整的功能。 有關最新的授權信息,請參閱IronXL的網站。 要了解更多有關Iron Software產品的信息,請訪問此頁面

常見問題解答

我如何可以在 C# 中將 Excel 文件轉換為 XML?

您可以使用 IronXL 庫在 C# 中將 Excel 文件轉換為 XML。首先,設置一個 Visual Studio 控制台專案並通過 NuGet 安裝 IronXL。然後,載入或創建您的 Excel 文件並利用 SaveAsXml 方法配合 XMLSaveOptions 類別來執行轉換。

使用 IronXL 進行 Excel 到 XML 轉換有什麼優勢?

IronXL 提供了一個簡單易用的 API,簡化了將 Excel 文件轉換為 XML 的過程。它在內部處理轉換,允許無需手動數據迭代即可輕鬆與 .NET 應用程式集成。

IronXL 是否兼容 XLS 和 XLSX 格式進行轉換?

是的,IronXL 兼容 XLS 和 XLSX 文件格式,為各種 Excel 文件的操作和轉換任務提供了多樣性。

在 Visual Studio 專案中安裝 IronXL 的步驟是什麼?

要在 Visual Studio 中安裝 IronXL,您可以使用 NuGet 套件管理器控制台與命令 Install-Package IronXL,或者可以在 NuGet 套件管理器中找到 IronXL 並從那裡直接安裝。

如何在使用後確保正確處理 IronXL 物件?

使用 IronXL 物件後,確保正確處理它們以釋放資源。這可以通過在對象不再需要時調用 Dispose 方法來完成。

哪些程式語言與 IronXL 兼容?

IronXL 可以用於各種 .NET 語言,包括 C# 和 VB.NET,這使它成為需要 Excel 集成的開發者應用程式的多樣選擇。

IronXL有哪些授權選項可用?

IronXL 提供了免費的社群版供非商業用途使用,具有一定的限制,而對於商業用途,提供增強功能和支持的付費版本可通過訂閱或永久授權取得。

IronXL 如何促進從 Excel 到其他格式的數據匯出?

IronXL 允許無縫的數據提取和從 Excel 文件到各種格式(例如 XML 和純文本)的匯出,從而增強與資料庫和其他系統的集成。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。