跳過到頁腳內容
使用 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 框架,並為 Excel 庫開發提供 C#、Linux、macOS、Windows 和控制台平台選項。 框架選擇

對於新創公司而言,選擇.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,且 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");
    }
}
$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");
$vbLabelText   $csharpLabel

Microsoft Excel 介面,顯示一個透過程式設計方式建立的工作簿,其中 A1 儲存格輸入了 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");
    }
}
$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
$vbLabelText   $csharpLabel

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

Excel檔案有哪些匯出選項?

也可以透過名稱或索引值來引用工作表,將 Excel 電子表格中的資料匯出IronXL單獨的檔案。 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 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me