使用IRONXL

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

里根普恩
里根普恩
2024年1月27日
分享:

介紹

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 檔案。最後,我們使用 SaveAsXml 方法搭配 XMLSaveOptions 類別將載入的檔案轉換為 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。
  • 多功能性和兼容性:它支援舊的 XLS Excel 格式和較新的 XLSX Excel 格式,並且與多個 Excel 版本兼容。
  • 支持舊版和現代 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. 創建一個新專案:

    選擇檔案 > 新增 > 專案

    如何在C#中將Excel文件轉換為XML:圖1 - 新專案

  3. 從「建立新專案」框的左側選擇您偏好的程式語言(例如,C#)。

  4. 從可用的專案範本中,選擇「Console App」或「Console App (.NET Core)」範本。

  5. 在「名稱」欄位中為您的專案提供一個名稱。

    如何在C#中將Excel文件轉換為XML:圖2 - 專案配置

  6. 選擇儲存專案的位置。

  7. 點擊「Create」以開始建立您的新控制台應用程式專案。

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

安裝 IronXL 函式庫

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

  1. 安裝 IronXL 函式庫,因為接下來的步驟需要它。 在 NuGet 套件管理器控制台中使用以下命令:
    Install-Package IronXL

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

  1. 另一種方法是使用 NuGet 包管理器來搜尋套件 "IronXL"。 從搜尋結果中選擇適合的 IronXL 的 NuGet 套件。

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

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

您可以使用 IronXL 的 SaveAsXml 函數將 Excel 檔案中的數據儲存為 XML 檔案格式。

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

using IronXL;

class Program
{
    static void Main(string [] args)
    {
        string excelFilePath = "Excel file here";
        string xmlFilePath = "XML file here";

        // 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)
    {
        string excelFilePath = "Excel file here";
        string xmlFilePath = "XML file here";

        // 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)
		Dim excelFilePath As String = "Excel file here"
		Dim xmlFilePath As String = "XML file here"

		' 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 檔案,將「XML file here」替換為適當的位置,並將「Excel file here」替換為您的實際 Excel 檔案路徑。

這段程式碼範例匯入一個 Excel 檔案,並使用 IronXL 提供的 SaveAsXml 函數將 Excel 檔案數據轉換成 XML 格式,無需手動迴圈處理列和欄來結構化 XML。 此方法會將 Excel 資料內部轉換為 XML 格式,然後將其發布到指定的 XML 檔案中。

保存 XML 文件時,請確保您擁有在該目錄中寫入的必要權限。原始 Excel 文件的內容和佈局可能會影響生成的 XML 的類型和結構。

輸入檔案:

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

結果:

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

要了解更多有關程式碼的資訊,請參考這裡的程式碼範例

結論

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

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

里根普恩
軟體工程師
Regan 畢業於雷丁大學,擁有電子工程學士學位。在加入 Iron Software 之前,他的工作角色讓他專注於單一任務;而他在 Iron Software 工作中最喜歡的是他所能承擔的工作範圍,無論是增加銷售價值、技術支持、產品開發或市場營銷。他喜歡了解開發人員如何使用 Iron Software 庫,並利用這些知識不斷改進文檔和開發產品。
< 上一頁
如何從 CSV 檔案讀取資料並將其存儲在資料庫 C#
下一個 >
如何在 VB .NET 中將 Excel 文件導入 SQL 資料庫