無需 Microsoft Office 即可在 C# 中處理 Excel 文件
IronXL簡介
IronXL程式庫作為C#中傳統Excel Interop的替代品,提供了一種更簡化且高效的處理Excel文件的方法。
這是一個有用的Excel API,可讓開發者在.NET應用程式中管理Microsoft Excel資料,且不依賴於Microsoft Office。它提供了一種簡單的方法來管理如XLSX、XLS和CSV等多種格式的Excel文件。
為什麼選擇IronXL?
伺服器上不需要安裝MS Office,使IronXL成為各種伺服器環境的最佳解決方案。
這使得它成為伺服器環境中的首選解決方案,其中由於許可或伺服器性能限制而無法安裝Microsoft Office。
IronXL的關鍵特點
IronXL的關鍵功能如下:
- 讀取和寫入Excel文件:IronXL可以建立和操縱Excel文件。 它支持傳統的XLS和現代的XLSX文件格式,確保與不同版本的Excel的相容性。
- 導出資料:IronXL可以將資料導出到和從Excel文件中導出到其他格式,如XML文件,CSV和其他格式。
- 支持.NET Core和Framework:IronXL與.NET Core和.NET Framework都能無縫運作,使其成為各種開發環境中的多功能選擇。
- 易於使用:使用IronXL,開發者可以用最少的程式碼行進行複雜的Excel操作,提高生產力和效率。
安裝與設定
要開始使用IronXL,您需要安裝NuGet包。 這是您可以這樣做的方式:
透過NuGet Package Manager:在NuGet Packages Manager中搜尋IronXL並安裝。

使用Package Manager Console:在Visual Studio的Package Manager Console中運行命令Install-Package IronXL.Excel。
使用IronXL
IronXL使C#開發者能夠有效地與Excel文件互動。 這部分將深入探討您可以用IronXL執行的各種操作,提供詳細的指導和程式碼範例。
建立新Excel文件
建立新Excel文件是資料操作和報告中的常見任務。 使用IronXL,您可以輕鬆地用幾行程式碼建立Excel文件,新增工作表,並將資料填入其中。
以下程式碼顯示了我們如何使用IronXL建立一個Excel文件:
using IronXL;
// Initialize a new Workbook
var workbook = new WorkBook();
// Add a new Worksheet named "Sales Data"
var worksheet = workbook.CreateWorkSheet("Sales Data");
// Populate the Worksheet with data
worksheet["A1"].Value = "Month";
worksheet["B1"].Value = "Sales";
worksheet["A2"].Value = "January";
worksheet["B2"].Value = 5000;
worksheet["A3"].Value = "February";
worksheet["B3"].Value = 6000;
// Save the Workbook as an Excel file
workbook.SaveAs("SalesReport.xlsx");
using IronXL;
// Initialize a new Workbook
var workbook = new WorkBook();
// Add a new Worksheet named "Sales Data"
var worksheet = workbook.CreateWorkSheet("Sales Data");
// Populate the Worksheet with data
worksheet["A1"].Value = "Month";
worksheet["B1"].Value = "Sales";
worksheet["A2"].Value = "January";
worksheet["B2"].Value = 5000;
worksheet["A3"].Value = "February";
worksheet["B3"].Value = 6000;
// Save the Workbook as an Excel file
workbook.SaveAs("SalesReport.xlsx");
Imports IronXL
' Initialize a new Workbook
Private workbook = New WorkBook()
' Add a new Worksheet named "Sales Data"
Private worksheet = workbook.CreateWorkSheet("Sales Data")
' Populate the Worksheet with data
Private worksheet("A1").Value = "Month"
Private worksheet("B1").Value = "Sales"
Private worksheet("A2").Value = "January"
Private worksheet("B2").Value = 5000
Private worksheet("A3").Value = "February"
Private worksheet("B3").Value = 6000
' Save the Workbook as an Excel file
workbook.SaveAs("SalesReport.xlsx")

此程式碼建立一個工作簿,新增一個工作表,並在保存為Excel文件之前將其填入銷售資料。
IronXL支持標準的Excel符號,讓開發者能夠像引用'A1'細胞那樣讀取和操縱資料。
讀取Excel文件
對於資料處理應用程式,讀取和提取Excel文件中的資訊是至關重要的。 IronXL允許您打開現有的Excel文件並讀取其內容,而不使用Excel互操作。
這是一個程式碼範例:
using IronXL;
// Load an existing Excel file
var workbook = WorkBook.Load("FinancialData.xlsx");
// Access a specific worksheet by name
var worksheet = workbook.GetWorkSheet("Quarterly Report");
// Read values from specific cells
string quarter = worksheet["A2"].StringValue;
double revenue = worksheet["B2"].DoubleValue;
double expenses = worksheet["C2"].DoubleValue;
// You can also iterate over rows and columns if needed
foreach (var row in worksheet.Rows)
{
foreach (var cell in row)
{
Console.WriteLine(cell.Value);
}
}
using IronXL;
// Load an existing Excel file
var workbook = WorkBook.Load("FinancialData.xlsx");
// Access a specific worksheet by name
var worksheet = workbook.GetWorkSheet("Quarterly Report");
// Read values from specific cells
string quarter = worksheet["A2"].StringValue;
double revenue = worksheet["B2"].DoubleValue;
double expenses = worksheet["C2"].DoubleValue;
// You can also iterate over rows and columns if needed
foreach (var row in worksheet.Rows)
{
foreach (var cell in row)
{
Console.WriteLine(cell.Value);
}
}
Imports IronXL
' Load an existing Excel file
Private workbook = WorkBook.Load("FinancialData.xlsx")
' Access a specific worksheet by name
Private worksheet = workbook.GetWorkSheet("Quarterly Report")
' Read values from specific cells
Private quarter As String = worksheet("A2").StringValue
Private revenue As Double = worksheet("B2").DoubleValue
Private expenses As Double = worksheet("C2").DoubleValue
' You can also iterate over rows and columns if needed
For Each row In worksheet.Rows
For Each cell In row
Console.WriteLine(cell.Value)
Next cell
Next row
此程式碼演示了如何載入Excel文件,存取特定工作表,並讀取細胞中的值,包括遍歷行和列。
將資料寫入Excel文件
修改Excel文件是一項常見要求。 IronXL讓您可以輕鬆地向Excel文件寫入和更新資料。
以下的範例說明了如何在Excel文件中新增並更新資料:
using IronXL;
// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeData.xlsx");
var worksheet = workbook.DefaultWorkSheet;
// Adding new data to cells
worksheet["A4"].Value = "John Doe";
worksheet["B4"].Value = "Sales";
worksheet["C4"].Value = 45000;
// Updating existing data
worksheet["C2"].Value = 50000; // Update salary of an existing employee
// Save the changes to a new file
workbook.SaveAs("UpdatedEmployeeData.xlsx");
using IronXL;
// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeData.xlsx");
var worksheet = workbook.DefaultWorkSheet;
// Adding new data to cells
worksheet["A4"].Value = "John Doe";
worksheet["B4"].Value = "Sales";
worksheet["C4"].Value = 45000;
// Updating existing data
worksheet["C2"].Value = 50000; // Update salary of an existing employee
// Save the changes to a new file
workbook.SaveAs("UpdatedEmployeeData.xlsx");
Imports IronXL
' Load an existing Excel file
Private workbook = WorkBook.Load("EmployeeData.xlsx")
Private worksheet = workbook.DefaultWorkSheet
' Adding new data to cells
Private worksheet("A4").Value = "John Doe"
Private worksheet("B4").Value = "Sales"
Private worksheet("C4").Value = 45000
' Updating existing data
Private worksheet("C2").Value = 50000 ' Update salary of an existing employee
' Save the changes to a new file
workbook.SaveAs("UpdatedEmployeeData.xlsx")
在此範例中,新資料被新增到Excel文件中,現有資料也被更新,展示了IronXL在資料操縱中的靈活性。

導出Excel資料
從Excel文件導出資料到其他格式常需要用於資料分析和報告。 IronXL簡化了這一過程。
這是您如何將Excel文件中的資料導出到CSV格式的方法:
using IronXL;
// Load the Excel file
var workbook = WorkBook.Load("ProjectData.xlsx");
// Export the entire Workbook or a specific Worksheet to CSV
workbook.SaveAsCsv("ProjectData.csv");
// You can also export to other formats like JSON
workbook.SaveAsJson("ProjectData.json");
using IronXL;
// Load the Excel file
var workbook = WorkBook.Load("ProjectData.xlsx");
// Export the entire Workbook or a specific Worksheet to CSV
workbook.SaveAsCsv("ProjectData.csv");
// You can also export to other formats like JSON
workbook.SaveAsJson("ProjectData.json");
Imports IronXL
' Load the Excel file
Private workbook = WorkBook.Load("ProjectData.xlsx")
' Export the entire Workbook or a specific Worksheet to CSV
workbook.SaveAsCsv("ProjectData.csv")
' You can also export to other formats like JSON
workbook.SaveAsJson("ProjectData.json")
這段程式碼片段展示了如何將Excel文件轉換為CSV和JSON格式,突顯了IronXL在處理不同文件格式方面的靈活性。
IronXL的高級功能
IronXL不僅僅是基本的Excel操作; 它還配備了針對複雜資料操縱和格式化需求的高級功能。 讓我們更詳細地探討這些功能。
使用資料表
在Excel工作表和.NET資料表之間轉換是提升IronXL資料處理靈活性的一個功能。 此功能特別適用於涉及大量資料操作或與資料庫接口的場景。
using IronXL;
using System.Data;
// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeRecords.xlsx");
var worksheet = workbook.DefaultWorkSheet;
// Convert the Worksheet to a DataTable
DataTable dataTable = worksheet.ToDataTable(true);
using IronXL;
using System.Data;
// Load an existing Excel file
var workbook = WorkBook.Load("EmployeeRecords.xlsx");
var worksheet = workbook.DefaultWorkSheet;
// Convert the Worksheet to a DataTable
DataTable dataTable = worksheet.ToDataTable(true);
Imports IronXL
Imports System.Data
' Load an existing Excel file
Private workbook = WorkBook.Load("EmployeeRecords.xlsx")
Private worksheet = workbook.DefaultWorkSheet
' Convert the Worksheet to a DataTable
Private dataTable As DataTable = worksheet.ToDataTable(True)
大Excel文件的性能優化
有效處理大Excel文件是IronXL的一個關鍵特點,這使其適用於處理大量資料的企業級應用程式。
IronXL旨在在處理大Excel文件時最小化記憶體使用並優化性能。
它通過有效的数据处理算法來實現,同時允許選擇性地讀取工作表和細胞,從而減少對系統資源的負載。
處理Excel文件格式
IronXL支持多種Excel文件格式,確保其可在不同版本的Excel和其他試算表軟體之間相容。
using IronXL;
// Creating a workbook
var workbook = new WorkBook();
// You can save the Workbook in various formats
workbook.SaveAs("ExcelDocument.xlsx"); // XLSX format
workbook.SaveAs("ExcelDocument.xls"); // XLS format
workbook.SaveAsCsv("ExcelDocument.csv"); // CSV format
using IronXL;
// Creating a workbook
var workbook = new WorkBook();
// You can save the Workbook in various formats
workbook.SaveAs("ExcelDocument.xlsx"); // XLSX format
workbook.SaveAs("ExcelDocument.xls"); // XLS format
workbook.SaveAsCsv("ExcelDocument.csv"); // CSV format
Imports IronXL
' Creating a workbook
Private workbook = New WorkBook()
' You can save the Workbook in various formats
workbook.SaveAs("ExcelDocument.xlsx") ' XLSX format
workbook.SaveAs("ExcelDocument.xls") ' XLS format
workbook.SaveAsCsv("ExcelDocument.csv") ' CSV format
此範例顯示了IronXL如何建立和保存XLSX、XLS和CSV格式的文件,提供了資料儲存和分享的靈活性。
結論

IronXL是一個強大的C#程式庫,用於處理Excel文件而無需Microsoft Office。它能讀取、寫入和導出Excel文件,結合其易用性及對.NET Core和.NET Framework的支持,使其成為開發者處理應用程式中Excel資料的絕佳選擇。
無論您是在建立新的Excel文件,處理現有文件,還是將資料導出到不同的格式,IronXL都提供了強大且高效的解決方案。
欲了解更詳細的文件、程式碼範例和支援,請存取IronXL官方網站或查看其GitHub倉庫。 有了IronXL,管理C#中的Excel文件成為一個流線型且輕鬆的過程。
IronXL提供免費試用,供使用者在購買前探索其功能和性能。 這段試用期允許開發者在其環境中測試該程式庫,確保其滿足他們在.NET應用程式中對Excel文件操作的具體需求。
試用期之後,IronXL的授權從$999開始,提供對其所有高級功能和功能的完全存取。
常見問題
IronXL如何在沒有Microsoft Office的情況下工作?
IronXL設計用於在.NET應用程式中管理Excel文件,不需要Microsoft Office。它提供了簡化的API,使開發人員無需依賴Office Interop即可執行Excel操作。
在伺服器環境中使用IronXL進行Excel操作有什麼好處?
IronXL非常適合伺服器環境,因為它消除了對Microsoft Office的需求,從而避免了授權或性能問題。它允許在不能安裝Office的環境中進行無縫的Excel文件操作。
如何使用IronXL讀取和寫入Excel文件?
使用IronXL,您可以通過初始化新的Workbook,存取Worksheet物件,並使用方法從Excel單元格讀取或寫入資料。
IronXL支持哪些Excel文件格式?
IronXL支持多種Excel文件格式,包括XLSX、XLS和CSV。它還允許資料導出為XML和JSON格式,增強了資料的互操作性。
如何在我的.NET項目中安裝IronXL?
您可以通過在NuGet Package Manager中搜尋'IronXL'或在Package Manager Console中執行命令Install-Package IronXL.Excel來安裝IronXL。
IronXL是否相容.NET Core和.NET Framework?
是的,IronXL相容.NET Core和.NET Framework,使其成為各種開發環境中的靈活選擇。
IronXL能否有效處理大型Excel文件?
IronXL優化了對大型Excel文件的高效處理,通過最小化記憶體使用並提供選擇性讀寫資料的方法。
如何使用IronXL將Excel資料導出為其他格式?
IronXL允許您將Excel資料導出為CSV和JSON格式,有助於不同平台的資料分析和報告。
IronXL為Excel資料操作提供了哪些高級功能?
IronXL提供了將Excel工作表轉換為.NET資料表並使用高效資料處理算法優化大資料集性能的高級功能。
IronXL 是否提供免費試用?
是的,IronXL為新使用者提供免費試用。這使您可以在決定購買完整存取許可證之前探索其功能。




