跳至頁尾內容
USING IRONXL

無需 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並安裝。

C# Excel程式庫無Office(初學者教程):圖1

使用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")
$vbLabelText   $csharpLabel

C# Excel程式庫無Office(初學者教程):圖2

此程式碼建立一個工作簿,新增一個工作表,並在保存為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
$vbLabelText   $csharpLabel

此程式碼演示了如何載入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")
$vbLabelText   $csharpLabel

在此範例中,新資料被新增到Excel文件中,現有資料也被更新,展示了IronXL在資料操縱中的靈活性。

C# Excel程式庫無Office(初學者教程):圖3

導出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")
$vbLabelText   $csharpLabel

這段程式碼片段展示了如何將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)
$vbLabelText   $csharpLabel

大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
$vbLabelText   $csharpLabel

此範例顯示了IronXL如何建立和保存XLSX、XLS和CSV格式的文件,提供了資料儲存和分享的靈活性。

結論

C# Excel程式庫無Office(初學者教程):圖4

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為新使用者提供免費試用。這使您可以在決定購買完整存取許可證之前探索其功能。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

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