使用 IRONXL 如何在 C# 中使用 IronXL 開啟 Excel 文件應用 Jordi Bardia 發表日期:10月 19, 2025 Download IronXL NuGet 下載 DLL 下載 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 使用 C# 開啟及處理 Excel 文件是幾乎所有 .NET 開發人員都會遇到的事情。 無論您是在自動化每週報告、讀取數據導入,還是構建即時生成電子表格的工具,您處理 Excel 文件的方式在速度、可靠性和部署靈活性方面都會產生重大影響。 在本教程中,我們將學習如何使用 IronXL - 一個輕量級的 Excel 庫來在 C# 中打開 Excel 文件,它可以讀取、編輯和寫入工作簿,而無需安裝 Microsoft Office。 您將看到在您的 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 eliminates the dependency on Microsoft Excel, making it ideal for server environments, Docker containers, and cloud platforms like Azure. 該庫提供了一個乾淨、現代的 API,消除了處理 COM 對象或手動內存管理的必要。 如何安裝 IronXL for .NET? 開始使用 IronXL 十分簡單; 它可以在幾分鐘內添加到您的項目中。 只需通過 NuGet 包管理器安裝即可: Install-Package IronXL.Excel 立即開始使用 IronXL。 免費啟動 如何在 C# 中打開和讀取 Excel 文件? 使用 IronXL 打開現有 Excel 文件只需幾行代碼。 該庫支持讀取包括 XLS 和 XLSX 在內的各種 Excel 格式,如以下代碼片段所示: // 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 $vbLabelText $csharpLabel 上面的代碼演示了將一個 Excel 文件加載到一個 WorkBook 對象中,這代表了整個 Excel 文件。WorkBook.Load() 方法會自動檢測文件格式(XLS、XLSX、CSV 或 TSV)並適當地處理。 您可以使用 GetWorkSheet() 方法按索引或名稱訪問工作表。 單個單元格值可通過直觀的括號表示法獲取,這使代碼具有高度可讀性。 For more complex scenarios, explore working with Excel ranges and cell data formats. 輸出 如何創建新的 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 $vbLabelText $csharpLabel 在此代碼示例中,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 $vbLabelText $csharpLabel 在這裡,我們使用相同的過程在項目中打開我們的 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 依賴。 使用 IronXL 處理 C# 中 Excel 文件的好處是什麼? IronXL 提供了多個好處,包括提升的性能、無需安裝 Excel 和更大的部署靈活性。它允許開發者高效地自動化報告、讀取數據導入和生成電子表格。 IronXL 能夠處理自動化任務的 Excel 文件嗎? 是的,IronXL 非常適合用於自動化任務,如生成每週報告、讀取數據導入以及創建動態電子表格生成工具。 IronXL 是否是 C# 應用程式中 Interop 的合適替代品? IronXL 是 Interop 的合適替代品,提供了一個現代化的解決方案,消除了對 Excel 依賴,並在處理 Excel 文件時提升了應用程式性能。 IronXL 支持讀取和寫入 Excel 文件嗎? IronXL 完全支持從 Excel 文件讀取和寫入,這使其成為 .NET 開發者處理電子表格數據的多功能工具。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 10月 27, 2025 如何在 C# 中創建 Excel 樞紐分析表 學習使用 C# Interop 和 IronXL 創建 Excel 中的樞紐分析表,這是一個清晰的分步指南。 閱讀更多 發表日期 10月 27, 2025 如何在 C# 中將 DataGridView 匯出為 Excel 並保留列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多 發表日期 10月 27, 2025 如何使用 IronXL 的 .NET Core CSV 讀取器 學習使用 IronXL 作為 .NET Core CSV 讀取器的有效方法,提供實用範例。 閱讀更多 如何在 Blazor 中使用 IronXL 導出到 Excel如何在 C# 中讀取帶有逗號...
發表日期 10月 27, 2025 如何在 C# 中將 DataGridView 匯出為 Excel 並保留列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多