使用IRONXL

在 C# 中不使用 Microsoft Office 處理 Excel 文件

發佈 2024年1月14日
分享:

IronXL 介紹

IronXL庫作為傳統的替代方案Excel Interop在 C# 中,提供了更精簡且高效的方法來處理 Excel 文件。

這是一個對於開發人員在 .NET 應用程式中管理 Microsoft Excel 數據非常有用的 Excel API,能夠獨立於 Microsoft Office 運行。它提供了一種簡便的方法來管理各種格式的 Excel 文件,如 XLSX、XLS 和 CSV。

為什麼選擇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 套件管理器:在 NuGet 套件管理器中搜索 IronXL 並安裝它。

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

使用套件管理員主控台:在 Visual Studio 的套件管理員主控台中運行命令 Install-Package IronXL.Excel

使用 IronXL

IronXL 使 C# 開發人員能夠有效地與 Excel 文件互動。 本節將深入探討您可以使用 IronXL 執行的各種操作,提供詳細的指導和代碼範例。

建立新的 Excel 檔案

創建新的 Excel 文件是在數據處理和報告中常見的任務。 使用 IronXL,您可以輕鬆地用幾行程式碼建立 Excel 檔案,新增工作表並填入資料。

以下程式碼顯示了我們如何可以創建 Excel 文件使用 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");
// 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");
' Initialize a new Workbook
Dim workbook As New WorkBook()
' Add a new Worksheet named "Sales Data"
Dim 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")
VB   C#

這是程式碼輸出:

不需要Office的C# Excel庫 (初學者教程):圖2

此程式碼創建一個活頁簿,添加一個工作表,並在儲存為 Excel 檔案之前將其填入銷售數據。

IronXL 支援標準的 Excel 符號,讓開發人員可以使用像 'A1' 這樣的方式來參考儲存格,以讀取和操作數據。

讀取 Excel 文件

從 Excel 文件中讀取和提取信息對於數據處理應用程序至關重要。 IronXL允許您打開現有的Excel文件並且閱讀其內容不需要 Excel 互操作。

這裡是一個代碼示例:

// 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);
    }
}
// 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);
    }
}
' Load an existing Excel file
Dim workbook = WorkBook.Load("FinancialData.xlsx")
' Access a specific worksheet by name
Dim worksheet = workbook.GetWorkSheet("Quarterly Report")
' Read values from specific cells
Dim quarter As String = worksheet ("A2").StringValue
Dim revenue As Double = worksheet ("B2").DoubleValue
Dim 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
VB   C#

此代碼演示了如何加載 Excel 文件,訪問特定工作表並從單元格讀取值,包括遍歷行和列。

將資料寫入 Excel 檔案

修改 Excel 文件是一項常見的需求。 IronXL 讓您輕鬆寫入和更新 Excel 文件中的資料。

以下範例說明如何在 Excel 文件中新增和更新資料:

// 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");
// 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");
' Load an existing Excel file
Dim workbook = WorkBook.Load("EmployeeData.xlsx")
Dim 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")
VB   C#

在這個範例中,新數據被添加到 Excel 文件中,並更新現有數據,展示了 IronXL 在資料操控上的靈活性。

這是輸出文件:

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

匯出 Excel 數據

從 Excel 文件匯出數據到其他格式通常是數據分析和報告所需的。 IronXL 簡化了這個過程。

以下是將 Excel 文件中的數據導出為 CSV 格式的方法:

// 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");
// 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");
' Load the Excel file
Dim 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")
VB   C#

此程式碼片段展示了將 Excel 文件轉換為 CSV 和 JSON 格式,強調了 IronXL 處理不同文件格式的多功能性。

IronXL 的高級功能

IronXL 不僅限於基本的 Excel 操作; 它配備了先進功能以滿足複雜的數據操作和格式化需求。 讓我們更詳細地探討一些這些功能。

使用資料表

在 IronXL 中,Excel 工作表與 .NET 資料表之間的轉換是一個增強資料處理靈活性的功能。 此功能在涉及大量資料操作或與資料庫介面連接的情況中特別有用。

// 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);
// 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);
' Load an existing Excel file
Dim workbook = WorkBook.Load("EmployeeRecords.xlsx")
Dim worksheet = workbook.DefaultWorkSheet
' Convert the Worksheet to a DataTable
Dim dataTable As DataTable = worksheet.ToDataTable(True)
VB   C#

大型 Excel 文件的效能優化

高效處理大型 Excel 檔案是 IronXL 的一個關鍵特性,這使其適用於處理大量數據的企業級應用程式。

IronXL旨在在處理大型Excel文件時減少記憶體使用量並優化性能。

它通過高效的數據處理算法以及允許選擇性讀取工作表和單元格來實現,從而減少系統資源的負擔。

處理 Excel 文件格式

IronXL 支援多種 Excel 檔案格式,確保與不同版本的 Excel 及其他試算表軟體的相容性。

// 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
// 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
' Creating a workbook
Dim workbook As 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
VB   C#

此範例顯示了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 的 $liteLicense 開始,提供對其所有高級功能和特性的完全訪問權限。

< 上一頁
C# Excel 自動化 (開發者教程)
下一個 >
如何在 C# 中不使用 oledb 將 Excel 轉換為 Datatable

準備開始了嗎? 版本: 2024.11 剛剛發布

免費 NuGet 下載 總下載次數: 1,086,940 查看許可證 >