跳過到頁腳內容
使用 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 依賴項的額外開銷。

常見問題解答

我如何在.NET中創建和讀取Excel檔案而無需使用Interop?

使用IronXL,您可以輕鬆地在.NET中創建和讀取Excel檔案,而不依賴於微軟Office Interop。您可以使用WorkBook.Create()方法創建新的Excel檔案,而使用LoadExcel來讀取現有的檔案。

使用獨立.NET Excel程式庫的好處是什麼?

像IronXL這樣的獨立.NET Excel程式庫的優勢是不需要微軟Office或Interop安裝。它允許在不同平台上(如Windows、macOS和Linux)無縫讀取、寫入和匯出Excel檔案。

如何編程地將Excel檔案轉換為CSV格式?

IronXL提供了將Excel檔案輕鬆轉換為CSV格式的功能。使用SaveAs方法可將Excel活頁簿匯出為CSV檔案格式。

哪些平台與IronXL相容以處理Excel檔案?

IronXL與多個平台相容,包括Xamarin、Linux、macOS、Azure、.NET Core和.NET Framework,為不同環境下工作的開發者提供靈活性。

使用IronXL可以在Excel列中處理哪些類型的數據?

IronXL支持多種數據類型,包括文本、整數、日期、貨幣、公式和百分比,允許在試算表中進行多樣化的數據處理。

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

使用IronXL,您可以通過程式化利用公式在Excel試算表中執行計算。這允許您在Excel檔案中自動化複雜的計算和數據處理任務。

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

是的,IronXL允許在一個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 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我