跳過到頁腳內容
使用 IRONXL

如何使用 IronXL 處理 Excel 文件:一個 .NET Excel 函式庫

本文將使用最受歡迎的 Excel 庫之一 IronXL,來比較和對比如何在 .NET 技術中以編程方式與 Microsoft Excel 文檔進行交互,並創建一個 Excel 電子表格環境來讀取 Excel 工作表、寫入 Excel 表格以及將電子表格文件導出為 CSV 文件。

IronXL - 快速 Excel 庫功能

使用 C# IronXL .NET Excel 庫可以讀取 Microsoft Excel 中建立的文件並將其轉換為 CSV 檔案。 IronXL 是一個獨立的 .NET Excel 軟體庫,不需要安裝 Microsoft Office、Microsoft.Office.Interop.Excel 或 Excel Interop。 它可以讀取多種電子表格格式,而不僅僅是一個靜態庫。

IronXL 的簡單 C# API 讓在 .NET 環境中讀取多個工作表、修改和產生 Excel 電子表格變得容易。 它完全支援 Xamarin、Linux、macOS、Azure、.NET Core 應用程式和 .NET Framework。

  • IronXL 是一個與 .NET Core 和 .NET Framework 都相容的 C# 函式庫,是 Excel 試算表的最佳函式庫之一。
  • IronXL 支援幾乎所有 .NET Framework,包括 Web 應用程式、Windows 窗體和控制台應用程式。
  • IronXL 可與 Linux、macOS 和 Windows 作業系統搭配使用。
  • IronXL 提供對 Excel 檔案的快速便捷存取。
  • IronXL 能夠讀取多種 Excel 檔案類型,包括 XLSX、CSV、XLS、XLST、TSV、XLSM 等。 匯入、更新和匯出資料表和資料集的功能只是該庫眾多功能中的一部分。
  • 對於 Excel 電子表格,IronXL 能夠產生計算結果
  • IronXL支援 Excel 欄位的多種資料類型,包括文字、整數、日期、貨幣、公式和百分比。
  • IronXL 可以處理多種數值,包括日期、貨幣、百分比、文字、數字、公式以及更多 Excel 欄位資料類型。

建立 .NET Core 6 項目

本文接下來的部分將向您展示使用 IronXL 庫建立/讀取 Excel 檔案是多麼簡單。

第一步:啟動建立 Excel 檔案的新專案。

啟動 Visual Studio 後,從"檔案"選單中選擇"新專案"。

在出現的對話方塊中,選擇"控制台應用程式".NET 專案模板,然後按一下"下一步"。

! .NET Excel 函式庫(開發者教學),圖 1:新項目 新專案

在"位置"欄位中輸入新項目的位置後,您可以為項目輸入您選擇的任何項目名稱。 點擊"下一步"按鈕繼續。

! .NET Excel 函式庫(開發人員教學),圖 2:專案配置 專案配置

可以使用"框架"下拉選項選擇 .NET Framework。 這裡我們使用的是 .NET 6.0,這是長期支援的版本。 然後按"創建"。

! .NET Excel 函式庫(開發者教學),圖 3:框架選擇 框架選擇

取得 IronXL 庫,以下解決方案需要用到該庫。 為此,請在 NuGet 套件管理器控制台中輸入以下命令:

Install-Package IronXL.Excel

! .NET Excel 函式庫(開發人員教學),圖 4:IronXL 安裝 IronXL 安裝

另一種方法是使用 NuGet 套件管理器搜尋"IronXL"套件。 然後,從與 IronXL 相關的所有 NuGet 套件清單中選擇要下載的所需套件。

! .NET Excel 函式庫(開發人員教學),圖 5:NuGet 套件管理器 NuGet 套件管理器

使用 IronXL 建立 Excel

使用 IronXL,您只需幾行程式碼即可建立新的 Excel 檔案! IronXL 可用於建立 XLS(較舊的 Excel 格式)和 XLSX(較新的格式)文件,如下方的程式碼範例所示。

using IronXL;

public class IronXLExample
{
    public static void Main(string[] args)
    {
        // Create a new workbook
        WorkBook workbook = WorkBook.Create();

        // Create a new worksheet named "Sheet1"
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");

        // Set the value of cell A1
        worksheet["A1"].Value = "test";

        // Save the workbook to a file
        workbook.SaveAs("sample1.xlsx");
    }
}
using IronXL;

public class IronXLExample
{
    public static void Main(string[] args)
    {
        // Create a new workbook
        WorkBook workbook = WorkBook.Create();

        // Create a new worksheet named "Sheet1"
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");

        // Set the value of cell A1
        worksheet["A1"].Value = "test";

        // Save the workbook to a file
        workbook.SaveAs("sample1.xlsx");
    }
}
Imports IronXL

Public Class IronXLExample
	Public Shared Sub Main(ByVal args() As String)
		' Create a new workbook
		Dim workbook As WorkBook = WorkBook.Create()

		' Create a new worksheet named "Sheet1"
		Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Sheet1")

		' Set the value of cell A1
		worksheet("A1").Value = "test"

		' Save the workbook to a file
		workbook.SaveAs("sample1.xlsx")
	End Sub
End Class
$vbLabelText   $csharpLabel

上面的程式碼示範如何使用 IronXL 套件建立一個新的 Excel 工作簿和工作表。 WorkBook.Create()方法用於建立一個新的工作簿,然後CreateWorkSheet("Sheet1")函數建立一個具有指定名稱的工作表標籤。 使用SaveAs方法將變更儲存到指定位置。

! .NET Excel 函式庫(開發者教學),圖 6:Excel 輸出 Excel 輸出

要了解有關創建 Excel 文件的更多信息,請查看本教程,了解如何在 .NET 中創建一個 Excel 文件

從 Excel 讀取資料並匯出到 Excel 文件

將資料匯出為 XLSX 或 XLS 格式只需要幾行程式碼。 以下是一個原始程式碼範例,可用於將 Excel 檔案中的資料匯出為簡單的表格格式:

using IronXL;

public class ExcelReadExportExample
{
    public static void Main(string[] args)
    {
        // Load an existing Excel file
        var workbook = WorkBook.LoadExcel("Demo file.xlsx");

        // Get a worksheet from the workbook
        WorkSheet workSheet = workbook.GetWorkSheet("Sheet1");

        // Read the value of cell A1
        string addressVal = workSheet["A1"].ToString();
        Console.WriteLine(addressVal);

        // Modify the value of cell A2
        workSheet["A2"].Value = "test";

        // Save the workbook in multiple formats
        workbook.SaveAs("export.xlsx");
        // Or save as XLS
        workbook.SaveAs("export.xls");
        // Or save the specific worksheet as an XLS file
        workbook.WorkSheets[0].SaveAs("export.xls");
    }
}
using IronXL;

public class ExcelReadExportExample
{
    public static void Main(string[] args)
    {
        // Load an existing Excel file
        var workbook = WorkBook.LoadExcel("Demo file.xlsx");

        // Get a worksheet from the workbook
        WorkSheet workSheet = workbook.GetWorkSheet("Sheet1");

        // Read the value of cell A1
        string addressVal = workSheet["A1"].ToString();
        Console.WriteLine(addressVal);

        // Modify the value of cell A2
        workSheet["A2"].Value = "test";

        // Save the workbook in multiple formats
        workbook.SaveAs("export.xlsx");
        // Or save as XLS
        workbook.SaveAs("export.xls");
        // Or save the specific worksheet as an XLS file
        workbook.WorkSheets[0].SaveAs("export.xls");
    }
}
Imports IronXL

Public Class ExcelReadExportExample
	Public Shared Sub Main(ByVal args() As String)
		' Load an existing Excel file
		Dim workbook = WorkBook.LoadExcel("Demo file.xlsx")

		' Get a worksheet from the workbook
		Dim workSheet As WorkSheet = workbook.GetWorkSheet("Sheet1")

		' Read the value of cell A1
		Dim addressVal As String = workSheet("A1").ToString()
		Console.WriteLine(addressVal)

		' Modify the value of cell A2
		workSheet("A2").Value = "test"

		' Save the workbook in multiple formats
		workbook.SaveAs("export.xlsx")
		' Or save as XLS
		workbook.SaveAs("export.xls")
		' Or save the specific worksheet as an XLS file
		workbook.WorkSheets(0).SaveAs("export.xls")
	End Sub
End Class
$vbLabelText   $csharpLabel

在前面的範例中,使用LoadExcel方法載入現有的 Excel 文件,該方法接受文件名稱和路徑作為參數。 然後將該檔案匯入WorkBook物件中。 工作表是透過指定工作表名稱,使用GetWorkSheet函數載入的。 可以透過指定儲存格的位址來讀取儲存格的值。 程式碼也示範如何使用SaveAs方法修改工作表值並將工作簿儲存為不同的檔案格式。

! .NET Excel 函式庫(開發者教學),圖 7:控制台輸出 控制台輸出

也可以透過名稱或索引值來引用工作表,將 Excel 電子表格中的資料匯出到單獨的檔案。更多詳情,請參閱另一篇教程,以了解有關匯出 Excel 檔案的更多資訊。

結論

從建立新檔案到執行精確計算,IronXL 可以滿足您所有 Excel 專案的需求。 今天,我們仔細研究如何使用 IronXL 建立、讀取和匯出 Excel 文件,並了解如何透過幾行程式碼完全控制這些過程。

IronXL 為所有與 Microsoft Excel 文件相關的可編程活動提供全面的解決方案。 可以執行公式計算、對字串或數字進行排序、剪切和添加資料、查找和替換、合併和取消合併單元格視覺化資料以及保存文件。 使用此功能,您還可以設定儲存格資料類型並驗證電子表格資料。 具備讀取和寫入 CSV 檔案的能力,可以與 Excel 資料互動。

IronXL 在發佈時需要支付$799費用,但客戶可以選擇支付一年的會員費以獲得改進和產品支援。 IronXL 會收取額外的安全費,允許不受限制地重新分發。 請造訪此授權頁面,以了解更多定價詳情。

常見問題解答

在沒有 Interop 的情況下,如何在 .NET 中建立和讀取 Excel 檔案?

使用 IronXL,您可以輕鬆地在 .NET 中建立和讀取 Excel 檔案,而無需依賴 Microsoft Office Interop。您可以使用 WorkBook.Create() 方法來建立新的 Excel 檔案,並使用 LoadExcel 讀取現有的 Excel 檔案。

使用獨立的 .NET Excel 函式庫有什麼好處?

像 IronXL 這種獨立的 .NET Excel 函式庫,具有不需要安裝 Microsoft Office 或 Interop 的優點。它允許跨不同平台(如 Windows、macOS 和 Linux)無縫讀取、寫入和匯出 Excel 檔案。

如何以程式方式將 Excel 檔案轉換為 CSV 格式?

IronXL.Excel 提供將 Excel 檔案毫不費力地轉換為 CSV 格式的功能。使用 SaveAs 方法將 Excel 工作簿匯出為 CSV 檔案格式。

IronXL.Excel 可在哪些平台上處理 Excel 檔案?

IronXL 與多種平台相容,包括 Xamarin、Linux、macOS、Azure、.NET Core 和 .NET Framework,為在不同環境下工作的開發人員提供彈性。

使用 IronXL.Excel 可以在 Excel 列中處理哪些類型的資料?

IronXL.Excel 支援多種資料類型,包括文字、整數、日期、貨幣、公式和 Excel 欄位的百分比,可在試算表內進行多樣化的資料處理。

如何使用 .NET 函式庫在 Excel 試算表中執行計算?

透過 IronXL.Excel,您可以程式化地利用公式在 Excel 試算表中執行計算。這可讓您在 Excel 檔案中自動執行複雜的計算和資料處理工作。

是否可以使用 .NET 函式庫處理 Excel 檔案中的多個工作表?

是的,IronXL.Excel 允許您在 Excel 檔案中處理多個工作表。您可以使用其 API 輕鬆存取、修改和匯出不同工作表的資料。

如何在 .NET Core 專案中設定 IronXL?

要在 .NET Core 專案中設定 IronXL,您可以透過 NuGet 套件管理員安裝。在套件管理員控制台中使用 Install-Package IronXL.Excel 指令,或透過 Visual Studio 中的 NuGet 套件管理員新增它。

IronXL 有哪些授權和定價選項?

IronXL 提供多種授權選項,其中包括一年的會員費,用於改進和支援。安全功能和不受限制的再發行權可能會產生額外的費用。

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