使用IRONXL

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

發佈 2024年1月14日
分享:

介紹 IronXL

IronXL 庫作為傳統的替代方案 Excel Interop 在 C# 中,提供了一種更簡化且有效的處理 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 套件管理器:在 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 interop。

以下是一個程式範例:

// 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 操作;它还具备满足复杂数据处理和格式化需求的高级功能。让我们更详细地探讨这些能力。

處理數據表

在 Excel 工作表和 .NET 數據表之間進行轉換是 IronXL 提高數據處理靈活性的一個功能。這種功能特別適用於涉及大批量數據操作或與數據庫交互的情況。

// 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.10 剛剛發布

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