如何在 C# 中使用 IronXL 開啟 Excel 文件應用
在 C# 中開啟和處理 Excel 檔案是幾乎所有 .NET 開發人員都會遇到的問題。 無論您是自動產生每週報告、讀取匯入數據,還是建立可即時產生電子表格的工具,您處理 Excel 檔案的方式都會對速度、可靠性和部署靈活性產生重大影響。
在本教程中,我們將學習如何使用IronXL (一個輕量級的 Excel 庫,無需安裝 Microsoft Office 即可讀取、編輯和寫入工作簿)在 C# 中開啟 Excel 檔案。 你會發現,在 C# 應用程式中以程式設計方式載入資料、存取工作表和處理儲存格是多麼簡單。
為什麼選擇 IronXL 而不是 Microsoft.Office.Interop.Excel?
雖然 Microsoft.Office.Interop.Excel 一直是 Excel 自動化的傳統方法,但它存在一些重大局限性,使得 IronXL 成為現代應用程式的更佳選擇。 微軟本身也不建議在伺服器上使用 Office Interop :
特點 | IronXL | Microsoft.Office.Interop.Excel |
需要安裝 Excel | ✅ 否 | ❌ 是的 |
跨平台支援 | ✅ Windows、Linux、macOS | ❌ 僅限 Windows 系統 |
伺服器部署 | ✅ 完全支持 | ❌ 微軟不推薦 |
內存管理 | ✅ 自動 | ❌ 需要手動清理 COM 對象 |
API 的複雜性 | ✅ 簡單直觀 | ❌ 複雜的 COM 介面 |
文件格式支持 | ✅ XLS、XLSX、CSV、TSV、JSON | ⚠️ 僅限 Excel 格式 |
IronXL 消除了對 Microsoft Excel 的依賴,使其成為伺服器環境、 Docker 容器和Azure 等雲端平台的理想選擇。 該程式庫提供了一個簡潔、現代的 API,無需處理 COM 物件或手動記憶體管理。
如何安裝 IronXL for .NET?
IronXL 的入門非常簡單; 幾分鐘內即可將其添加到您的專案中。 只需透過 NuGet 套件管理器安裝即可:
Install-Package IronXL.Excel
!{--01001100010010010100001001010010010000010101001001011001010111110100011101000101010101 01000101111101010011010101000100000101010010010101000100010101000100010111110101011101001000110 1010101000100100001011111010100000101001001001111010001000101010101010000110101010100101010101011 10101010001010010010010010010000010100110001011111010000100100110001001111101000011010010111111010000110100101110--
如何在 C# 中開啟和讀取 Excel 檔案?
使用 IronXL 開啟現有的 Excel 檔案只需要幾行程式碼。 該庫支援讀取各種 Excel 格式,包括 XLS 和 XLSX,如下面的程式碼片段所示:
// Load an existing Excel file
WorkBook workbook = WorkBook.Load("sales-data.xlsx");
// Access the first worksheet
WorkSheet sheet = workbook.WorkSheets[0];
// Or access a worksheet by name
WorkSheet namedSheet = workbook.GetWorkSheet("January Sales");
// Read a specific cell value
string cellValue = sheet["A1"].StringValue;
Console.WriteLine($"Cell A1 contains: {cellValue}");// Load an existing Excel file
WorkBook workbook = WorkBook.Load("sales-data.xlsx");
// Access the first worksheet
WorkSheet sheet = workbook.WorkSheets[0];
// Or access a worksheet by name
WorkSheet namedSheet = workbook.GetWorkSheet("January Sales");
// Read a specific cell value
string cellValue = sheet["A1"].StringValue;
Console.WriteLine($"Cell A1 contains: {cellValue}");IRON VB CONVERTER ERROR developers@ironsoftware.com以上程式碼示範如何將 Excel 檔案載入到 WorkBook 物件中,該物件代表整個 Excel 檔案。 WorkBook.Load() 方法會自動偵測檔案格式(XLS、XLSX、CSV 或 TSV)並進行對應的處理。
您可以使用 GetWorkSheet() 方法按索引或名稱存取工作表。 透過直覺的括號表示法可以存取各個單元格的值,使程式碼具有很高的可讀性。 對於更複雜的場景,請探索使用 Excel 區域和儲存格資料格式。
輸出
如何建立新的Excel工作簿?
使用 IronXL 的電子表格建立功能,建立新的 Excel 檔案同樣簡單:
// Create a new workbook
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Add metadata
workbook.Metadata.Author = "Sales Department";
// Create a worksheet
WorkSheet sheet = workbook.CreateWorkSheet("Q1 Report");
// Add data to cells
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Revenue";
sheet["A2"].Value = "Software Licenses";
sheet["B2"].Value = 45000;
// Apply formatting
sheet["B2"].FormatString = "$#,##0.00";
// Save the workbook
workbook.SaveAs("quarterly-report.xlsx");// Create a new workbook
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Add metadata
workbook.Metadata.Author = "Sales Department";
// Create a worksheet
WorkSheet sheet = workbook.CreateWorkSheet("Q1 Report");
// Add data to cells
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Revenue";
sheet["A2"].Value = "Software Licenses";
sheet["B2"].Value = 45000;
// Apply formatting
sheet["B2"].FormatString = "$#,##0.00";
// Save the workbook
workbook.SaveAs("quarterly-report.xlsx");IRON VB CONVERTER ERROR developers@ironsoftware.com在這個程式碼範例中,WorkBook.Create() 方法會使用您指定的格式初始化一個新的工作簿。 您可以使用 CreateWorkSheet() 新增多個工作表,使用各種資料類型填入 Excel 行和列中的特定儲存格,並套用格式樣式。 該程式庫會自動處理資料類型轉換和 Excel 特有的格式要求。 了解更多關於C#中Excel公式的高階計算方法。
輸出
如何讀取和處理Excel工作表資料?
IronXL在資料擷取和處理方面表現出色:
// Load workbook
WorkBook workbook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Read a range of cells
var range = sheet["A1:D5"];
foreach (var cell in range)
{
Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}
// Convert to DataTable for easier processing
System.Data.DataTable dataTable = sheet.ToDataTable(true);
// Process data using LINQ
decimal total = sheet["C2:C5"].Sum();
Console.WriteLine($"Total: {total}");// Load workbook
WorkBook workbook = WorkBook.Load("inventory.xlsx");
WorkSheet sheet = workbook.DefaultWorkSheet;
// Read a range of cells
var range = sheet["A1:D5"];
foreach (var cell in range)
{
Console.WriteLine($"{cell.AddressString}: {cell.Text}");
}
// Convert to DataTable for easier processing
System.Data.DataTable dataTable = sheet.ToDataTable(true);
// Process data using LINQ
decimal total = sheet["C2:C5"].Sum();
Console.WriteLine($"Total: {total}");IRON VB CONVERTER ERROR developers@ironsoftware.com在這裡,我們使用相同的流程在專案中開啟我們的 Excel 檔案。 範圍選擇語法(sheet["A1:D5"])提供了一種優雅的方式來處理多個單元格。 ToDataTable() 方法將工作表資料轉換為 DataTable,從而實現與資料庫的整合和資料綁定場景。 IronXL 也支援直接對範圍使用聚合函數,例如 Sum()、Average() 和 Max()。 若要處理更大的資料集,請參閱完整的 API 文件。
無需 Microsoft Office 即可運作
IronXL最大的優點之一是它能夠獨立於Microsoft Office運作。這項特性使其擁有多種部署方案:
*雲端部署:可在 Azure、AWS 或 Google Cloud 上執行,無需擔心授權問題
- Docker 容器:無需複雜的 Office 安裝即可整合到容器化應用程式中
- Linux 伺服器:部署到經濟高效的 Linux 環境
- CI/CD 管線:在自動化建置過程中產生 Excel 報告
該庫在內部處理所有 Excel 文件的生成和操作,並利用其自身的渲染引擎來確保在所有平台上獲得一致的結果。
結論
IronXL 提供了一種現代化且高效的解決方案,用於在 C# 中開啟和操作 Excel 檔案。 透過消除對 Excel 的依賴並提供簡潔的 API,它簡化了開發,同時實現了更廣泛的部署選項。 無論您是建立桌面應用程式、Web 服務還是基於雲端的解決方案,IronXL 都能確保您的 Excel 自動化在所有環境中可靠地運作。
準備好實現 Excel 自動化現代化了嗎? 下載 IronXL 免費試用版,價格從 $liteLicense 起。
常見問題解答
沒有 Microsoft Office,如何在 C# 中開啟 Excel 檔案?
您可以使用 IronXL 以 C# 開啟 Excel 檔案,而不需要 Microsoft Office。IronXL 提供了 Interop 的現代化替代方案,提供更好的效能,且不需依賴 Excel。
在 C# 中使用 IronXL.Excel 處理 Excel 檔案有什麼好處?
IronXL.Excel 提供多項優點,包括效能提升、不需依賴 Excel 安裝,以及部署更具彈性。它可讓開發人員自動化報表、讀取資料匯入,以及有效率地產生試算表。
IronXL 能處理 Excel 檔案的自動化任務嗎?
是的,IronXL 非常適合自動化任務,例如產生週報、讀取資料匯入,以及建立動態試算表生成工具。
IronXL 是否適合取代 C# 應用程式中的 Interop?
IronXL.Excel 是 Interop 的合適替代品,它提供了一個現代化的解決方案,在處理 Excel 檔案時不需要 Excel 的依賴性,並可改善應用程式的效能。
IronXL 是否支援讀寫 Excel 檔案?
IronXL 完全支援從 Excel 檔案讀取或寫入 Excel 檔案,使其成為 .NET 開發人員處理試算表資料的多用途工具。









