.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、 Linux 、 macOS 、 Azure 、.NET Core 應用程式和 .NET Framework。
對於需要快速部署的新創公司創辦人而言,IronXL 消除了開發和生產伺服器上對 Microsoft Office 安裝的依賴,從而顯著降低了基礎架構的複雜性和授權成本。 此程式庫的跨平台支援可確保您的 Excel 處理功能無論是在 Linux 容器、Azure Functions 或傳統的 Windows 伺服器上都能無縫運作。
IronXL 支援哪些平台和格式?
- 相容於 .NET Core 和 .NET Framework
- 支援 Web 應用程式、Windows 窗體應用程式和控制台應用程式
- 相容Linux 、 macOS和 Windows 系統
- 提供對 Excel 文件的快速便捷訪問 *支援讀取多種 Excel 檔案類型:XLSX、CSV、XLS、XLST、TSV、XLSM 等
- 在Excel表格上進行計算 支援多種資料類型:文字、整數、日期、貨幣、公式和百分比 處理 Excel 欄位的多種值格式
廣泛的格式支援意味著您可以輕鬆地在不同的電子表格文件類型之間進行轉換,無論是從客戶上傳中匯入 Excel 數據,還是匯出為不同的格式以供不同的利害關係人使用。
如何設定 .NET 專案以使用 IronXL?
接下來的章節將向您展示使用 IronXL 庫建立和讀取 Excel 檔案是多麼簡單。
建立新的控制台專案需要哪些步驟?
步驟 1:啟動一個新專案以建立 Excel 檔案。
啟動 Visual Studio 後,從"檔案"選單中選擇"新專案"。
在出現的對話方塊中,選擇"控制台應用程式".NET 專案模板,然後按一下"下一步"。
在"位置"欄位中輸入新項目的位置後,您可以輸入您選擇的任何項目名稱。 點擊"下一步"按鈕繼續。
Visual Studio 新專案設定畫面顯示了控制台應用程式範本選擇(支援 C#)、跨平台作業系統選項(Linux、macOS、Windows)以及用於輸入專案名稱和 Excel 庫開發位置的字段 專案配置
我該選擇哪個 .NET Framework 版本?
使用"框架"下拉選項選擇 .NET Framework。 這裡我們使用的是 .NET 6.0,這是長期支援的版本。 然後按"創建"。
對於新創公司而言,選擇 .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");
}
}上面的程式碼示範如何使用 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");
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");
}
}如何透過名稱或索引存取工作表?
在前面的範例中,使用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
控制台輸出
Excel檔案有哪些匯出選項?
也可以透過名稱或索引值來引用工作表,將 Excel 電子表格中的資料匯出到單獨的檔案。 IronXL 支援匯出為多種格式,包括CSV 、 JSON、XML和HTML 。 您也可以匯出為 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,您無需依賴 Microsoft Office Interop 即可輕鬆地在 .NET 中建立和讀取 Excel 檔案。您可以使用WorkBook.Create()方法建立新的 Excel 文件,並使用LoadExcel讀取現有文件。
使用獨立的 .NET Excel 函式庫有哪些好處?
像 IronXL 這樣的獨立 .NET Excel 程式庫的優點在於無需安裝 Microsoft 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 支援多種資料類型,包括文字、整數、日期、貨幣、公式和百分比等 Excel 列,從而可以在電子表格中進行靈活的資料處理。
如何使用 .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 提供多種許可選項,其中包括一年的會員費,用於享受功能改進和技術支援。安全功能和無限制分發權可能需要額外付費。






