跳過到頁腳內容
使用 IRONXL

.NET Excel 函式庫 (開發人員教程)

IronXL 可讓您使用幾行程式碼在 C#/.NET 中建立、讀取和匯出 Excel 文件,而無需安裝 Microsoft Office,這使其成為需要快速 Excel 整合功能的快速發展的新創公司的完美選擇。

IronXL為何是.NET開發中最佳的Excel函式庫?

在本文中,我們將探討 IronXL,這是一個Excel 函式庫,它簡化了在 .NET 中以程式設計方式處理 Microsoft Excel 文件的過程。 我們將建立一個 Excel 電子表格環境,用於讀取 Excel 工作表寫入 Excel 表格以及將電子表格檔案匯出為 CSV 檔案

為什麼選擇 IronXL 而不是 Microsoft.Office.Interop?

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

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

對於需要快速部署的新創公司創辦人而言,IronXL 消除了開發和生產伺服器上對 Microsoft Office 安裝的依賴,從而顯著降低了基礎架構的複雜性和授權成本。 此程式庫的跨平台支援可確保您的 Excel 處理功能無論是在 Linux 容器、Azure Functions 或傳統的 Windows 伺服器上都能無縫運作。

IronXL 支援哪些平台和格式?

廣泛的格式支援意味著您可以輕鬆地在不同的電子表格文件類型之間進行轉換,無論是從客戶上傳中匯入 Excel 數據,還是匯出為不同的格式以供不同的利害關係人使用。

如何設定 .NET 專案以使用 IronXL?

接下來的章節將向您展示使用 IronXL 庫建立和讀取 Excel 檔案是多麼簡單。

建立新的控制台專案需要哪些步驟?

步驟 1:啟動一個新專案以建立 Excel 檔案。

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

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

Visual Studio 的"新增專案"對話方塊顯示了各種 .NET 專案模板,包括控制台應用程式、ASP.NET Core Web 應用程式、Blazor 伺服器應用程式和 ASP.NET Core Web API,其中控制台應用程式已被反白顯示,可用於 Excel 函式庫教學。 新專案

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

Visual Studio 新專案設定畫面顯示了控制台應用程式範本選擇(支援 C#)、跨平台作業系統選項(Linux、macOS、Windows)以及用於輸入專案名稱和 Excel 庫開發位置的字段 專案配置

我該選擇哪個 .NET Framework 版本?

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

Visual Studio 專案配置視窗顯示了控制台應用程式設置,其中已選擇 .NET 6.0 LTS 框架,並提供了 C#、Linux、macOS、Windows 和控制台等平台選項,用於 Excel 庫開發。 框架選擇

對於新創公司而言,選擇 .NET 6.0 LTS 可確保長期穩定性和支持,從而減少在關鍵成長階段進行框架升級的需求。 該版本還提供了卓越的效能改進,並且與Docker 部署Azure Functions完全相容。

如何透過 NuGet 套件管理器安裝 IronXL?

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

Install-Package IronXL.Excel

Visual Studio 套件管理器控制台顯示指令"PM> Install-Package IronXL.Excel"正在執行,並確認 Excel 程式庫已成功安裝。 IronXL 安裝

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

NuGet 套件管理器視窗顯示 IronXL.Excel 套件(版本 2023.4.13)已準備就緒,可供安裝,顯示下載量為 386K,並且"安裝"按鈕已高亮顯示,方便整合 Excel 庫。 NuGet 套件管理器

安裝過程非常簡單,不到一分鐘即可完成。 對於使用 CI/CD 管線的團隊來說,IronXL 可以輕鬆整合到自動化建置中。 請查看許可頁面,以了解適合新創企業的定價選項以及如何在部署流程中套用許可證金鑰

如何使用C#中的IronXL建立Excel檔案?

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

產生新的Excel工作簿所需的最少程式碼是什麼?

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方法將變更儲存到指定位置。

對於更複雜的場景,您可以新增多個工作表套用儲存格格式設定儲存格資料格式,甚至可以透過程式設計 建立 Excel 圖表

// Create a workbook with multiple sheets and formatting
WorkBook workbook = WorkBook.Create();
WorkSheet salesSheet = workbook.CreateWorkSheet("Sales");
WorkSheet revenueSheet = workbook.CreateWorkSheet("Revenue");

// Add headers with formatting
salesSheet["A1"].Value = "Product";
salesSheet["B1"].Value = "Quantity";
salesSheet["C1"].Value = "Revenue";

// Apply bold formatting to headers
salesSheet["A1:C1"].Style.Font.Bold = true;

// Add data with number formatting
salesSheet["A2"].Value = "Widget A";
salesSheet["B2"].Value = 150;
salesSheet["C2"].Value = 4500.00;
salesSheet["C2"].FormatString = "$#,##0.00"; // Currency format

// Auto-size columns for better readability
salesSheet.AutoSizeColumn(0);
salesSheet.AutoSizeColumn(1);
salesSheet.AutoSizeColumn(2);

workbook.SaveAs("sales_report.xlsx");
// Create a workbook with multiple sheets and formatting
WorkBook workbook = WorkBook.Create();
WorkSheet salesSheet = workbook.CreateWorkSheet("Sales");
WorkSheet revenueSheet = workbook.CreateWorkSheet("Revenue");

// Add headers with formatting
salesSheet["A1"].Value = "Product";
salesSheet["B1"].Value = "Quantity";
salesSheet["C1"].Value = "Revenue";

// Apply bold formatting to headers
salesSheet["A1:C1"].Style.Font.Bold = true;

// Add data with number formatting
salesSheet["A2"].Value = "Widget A";
salesSheet["B2"].Value = 150;
salesSheet["C2"].Value = 4500.00;
salesSheet["C2"].FormatString = "$#,##0.00"; // Currency format

// Auto-size columns for better readability
salesSheet.AutoSizeColumn(0);
salesSheet.AutoSizeColumn(1);
salesSheet.AutoSizeColumn(2);

workbook.SaveAs("sales_report.xlsx");
' Create a workbook with multiple sheets and formatting
Dim workbook As WorkBook = WorkBook.Create()
Dim salesSheet As WorkSheet = workbook.CreateWorkSheet("Sales")
Dim revenueSheet As WorkSheet = workbook.CreateWorkSheet("Revenue")

' Add headers with formatting
salesSheet("A1").Value = "Product"
salesSheet("B1").Value = "Quantity"
salesSheet("C1").Value = "Revenue"

' Apply bold formatting to headers
salesSheet("A1:C1").Style.Font.Bold = True

' Add data with number formatting
salesSheet("A2").Value = "Widget A"
salesSheet("B2").Value = 150
salesSheet("C2").Value = 4500.0
salesSheet("C2").FormatString = "$#,##0.00" ' Currency format

' Auto-size columns for better readability
salesSheet.AutoSizeColumn(0)
salesSheet.AutoSizeColumn(1)
salesSheet.AutoSizeColumn(2)

workbook.SaveAs("sales_report.xlsx")
$vbLabelText   $csharpLabel

微軟 Excel 介面,展示了一個透過程式設計方式建立的工作簿,其中 A1 儲存格輸入了test,示範如何使用 IronXL .NET 程式庫建立基本的 Excel 檔案。 Excel 輸出

哪裡可以找到更多關於建立Excel檔案的範例?

要了解有關創建 Excel 文件的更多信息,請查看本教程,了解如何在 .NET 中創建一個 Excel 文件。 您還可以探索如何在不使用 Interop 的情況下在 C# 中使用 Excel ,並以程式設計方式建立 Excel 圖表

如何讀取Excel資料並匯出為不同格式?

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

我需要寫什麼程式碼才能載入和修改現有的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方法修改工作表值並將工作簿儲存為不同的檔案格式。

IronXL 提供了靈活的方式來選擇範圍讀取 CSV 檔案以及處理各種資料結構。 以下是一個更詳細的範例,展示了存取和操作 Excel 資料的不同方法:

// Load workbook from various sources
WorkBook workbook = WorkBook.Load("data.xlsx");

// Access worksheets in multiple ways
WorkSheet sheet1 = workbook.WorkSheets[0]; // By index
WorkSheet sheet2 = workbook.GetWorkSheet("Sheet2"); // By name

// Read data from ranges
var range = sheet1["A1:C10"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.Address}: {cell.Value}");
}

// Convert to DataTable for easier processing
DataTable dataTable = sheet1.ToDataTable(true);

// Export to various formats
workbook.SaveAs("output.csv"); // CSV format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format
// Load workbook from various sources
WorkBook workbook = WorkBook.Load("data.xlsx");

// Access worksheets in multiple ways
WorkSheet sheet1 = workbook.WorkSheets[0]; // By index
WorkSheet sheet2 = workbook.GetWorkSheet("Sheet2"); // By name

// Read data from ranges
var range = sheet1["A1:C10"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.Address}: {cell.Value}");
}

// Convert to DataTable for easier processing
DataTable dataTable = sheet1.ToDataTable(true);

// Export to various formats
workbook.SaveAs("output.csv"); // CSV format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format
' Load workbook from various sources
Dim workbook As WorkBook = WorkBook.Load("data.xlsx")

' Access worksheets in multiple ways
Dim sheet1 As WorkSheet = workbook.WorkSheets(0) ' By index
Dim sheet2 As WorkSheet = workbook.GetWorkSheet("Sheet2") ' By name

' Read data from ranges
Dim range = sheet1("A1:C10")
For Each cell In range
    Console.WriteLine($"{cell.Address}: {cell.Value}")
Next

' Convert to DataTable for easier processing
Dim dataTable As DataTable = sheet1.ToDataTable(True)

' Export to various formats
workbook.SaveAs("output.csv") ' CSV format
workbook.SaveAsJson("output.json") ' JSON format
workbook.SaveAsXml("output.xml") ' XML format
$vbLabelText   $csharpLabel

控制台視窗顯示使用 IronXL .NET 庫範例程式碼讀取 Excel 儲存格資料後成功輸出的test語句。 控制台輸出

Excel檔案有哪些匯出選項?

也可以透過名稱或索引值來引用工作表,將 Excel 電子表格中的資料匯出到單獨的檔案。 IronXL 支援匯出為多種格式,包括CSVJSON、XMLHTML 。 您也可以匯出為 DataSet 和 DataTable,以便與您的 .NET 資料處理管道無縫整合。

對於需要與各種系統整合的創業團隊來說,IronXL 的匯出功能可以實現快速的資料交換。 您可以從 SQL 資料庫載入 Excel從 Excel 更新資料庫記錄,或透過 DataTable 處理 Excel 數據,以進行快速原型設計和 MVP 開發。

IronXL的下一步是什麼?

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

IronXL 提供哪些進階功能?

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

其他進階功能包括:

新創團隊的定價模式是什麼?

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

對於新創公司,IronXL 提供開發者許可證,讓您可以不受限制地評估該程式庫。 授權模式透明,沒有隱藏費用,您可以從單一開發者授權開始,並隨著團隊的壯大而升級。 請查看故障排除指南,以了解如何在不同部署場景下套用許可證。

無論您是建立Blazor 應用程式、部署到AWS Lambda 、使用.NET MAUI還是建立ASP.NET Web 應用程式,IronXL 都能提供所需的靈活性和效能,讓您快速交付 Excel 功能,而無需 Microsoft Office 依賴項的額外開銷。

常見問題解答

在沒有 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 提供多種授權選項,其中包括一年的會員費,用於改進和支援。安全功能和不受限制的再發行權可能會產生額外的費用。

Curtis Chau
技術撰稿人

Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。