使用 IRONXL 如何在 C# 中開啟 Excel 文件和撰寫數據 Jordi Bardia 更新:2025年6月22日 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 本文將探討IronXL庫,以示範如何在 C# 控制台應用程式中開啟 Microsoft Excel 檔案並向其中寫入資料。 IronXL - 一個 Excel 庫 IronXL是一個.NET Excel 函式庫,它簡化了在 C# 應用程式中建立、讀取和編輯 Excel 檔案的過程。 它具有卓越的性能和精準的輸出。 此程式庫支援所有Excel工作簿檔案類型,包括XLS、XLSX、XLSM、CSV和TSV。此外,它還允許將資料保存或匯出為JSON、HTML、二進位、位元組數組、資料集或資料表等格式。 借助IronXL,開發人員可以無縫地處理工作表和單元格區域。 它提供了在工作表中編輯公式並輕鬆重新計算公式的功能。 按範圍、列或行對資料進行排序非常簡單。 該庫提供了修改佈局的功能,例如凍結窗格、自動調整行/列大小以及新增/刪除行/列。 IronXL也支援使用使用者密碼和編輯權限來保護Excel 檔案。 另一個值得注意的功能是能夠從 Excel 工作表中新增、刪除和擷取影像。 該程式庫提供各種 Excel 函數,支援多種儲存格資料格式。 這些特性使IronXL成為處理 Excel 檔案最用戶友好的 API 之一。 IronXL的一個顯著優勢是它不需要在電腦上安裝 Microsoft Excel,從而消除了對 Office Interop 或任何其他依賴項的需求。 它相容於多個平台,支援.NET 7、6 和 5。它也相容於.NET Core 2 和 3,以及.NET Framework 4.5 及更高版本,可用於處理 Excel 電子表格。 建立控制台應用程式 建議使用最新版本的 Visual Studio IDE 來建立應用程式。 Visual Studio 是 C# 開發的官方 IDE,假設您已經安裝了它。 如果您還沒有安裝 Visual Studio,可以從Microsoft Visual Studio 官方網站下載。 請依照下列步驟建立一個名為"DemoApp"的新專案。 開啟 Visual Studio,然後按一下"建立新專案" 新專案 選擇"控制台應用程式",然後按一下"下一步"。 新項目類型 輸入項目名稱 新項目名稱 選擇.NET版本。 選擇穩定版.NET 6.0。 新項目補充訊息 安裝IronXL庫 專案建立完成後,需要將IronXL庫安裝到專案中才能使用它。 請依照以下步驟進行安裝。 從解決方案資源管理器或工具中開啟"管理解決方案的NuGet套件"。 NuGet套件管理器 瀏覽IronXL庫並選擇目前項目。 點選安裝。 在NuGet套件管理器 UI 中搜尋並安裝IronXL套件。 在 Program.cs 檔案頂部新增以下命名空間 using IronXL; using IronXL; $vbLabelText $csharpLabel Open an Existing Excel File in C IronXL提供了開啟現有 Excel 檔案的功能,您也可以建立新的 Excel 檔案。本範例將使用 C# IronXL開啟一個現有檔案。 // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV WorkBook workBook = WorkBook.Load("sample.xlsx"); // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV WorkBook workBook = WorkBook.Load("sample.xlsx"); $vbLabelText $csharpLabel 現在,讓我們選擇它的第一個工作表。 您可以按索引號或名稱選擇工作表。 DefaultWorkSheet 屬性可以協助取得第一個工作表。 // Select worksheet at index 0 WorkSheet workSheet = workBook.WorkSheets[0]; // Select worksheet by name WorkSheet ws = workBook.GetWorkSheet("Sheet1"); // Get any existing worksheet WorkSheet firstSheet = workBook.DefaultWorkSheet; // Select worksheet at index 0 WorkSheet workSheet = workBook.WorkSheets[0]; // Select worksheet by name WorkSheet ws = workBook.GetWorkSheet("Sheet1"); // Get any existing worksheet WorkSheet firstSheet = workBook.DefaultWorkSheet; $vbLabelText $csharpLabel 上面的程式碼從 Excel 工作簿中取得第一個工作表。 若要建立包含資料的新 Excel 文件,請查看此程式碼範例頁面。 現在,讓我們使用IronXL物件庫將資料寫入 Excel 檔案。 Write Data to Excel File in C 使用IronXL將資料寫入 Excel 檔案非常簡單。 實現此目的的方法有很多種,但最簡單的方法是使用 Excel 儲存格參考。 // Access A1 cell and write the value workSheet["A1"].Value = "Value using cell reference"; // Access A1 cell and write the value workSheet["A1"].Value = "Value using cell reference"; $vbLabelText $csharpLabel 也可以將資料寫入一系列儲存格。 以下程式碼將儲存格 B1 到 B5 中的資料寫入資料。 // Write the same value to cells from B1 to B5 workSheet["B1:B5"].Value = "Range value"; // Write the same value to cells from B1 to B5 workSheet["B1:B5"].Value = "Range value"; $vbLabelText $csharpLabel 我們也可以使用 for 迴圈來填滿範圍,使其成為動態的。 程式碼如下: // Specify range in which we want to write the values for (int i = 1; i <= 5; i++) { // Write the Dynamic value in column C workSheet["C" + i].Value = "Value: " + i; // Write the Dynamic value in column D workSheet["D" + i].Value = "Value: " + i; } // Specify range in which we want to write the values for (int i = 1; i <= 5; i++) { // Write the Dynamic value in column C workSheet["C" + i].Value = "Value: " + i; // Write the Dynamic value in column D workSheet["D" + i].Value = "Value: " + i; } $vbLabelText $csharpLabel 將資料寫入 Excel 檔案的另一種方法是使用Replace方法。 // Replace the value in cell D5 workSheet["D5"].Replace("Value: 5", "Replaced Value"); // Replace the value in cell D5 workSheet["D5"].Replace("Value: 5", "Replaced Value"); $vbLabelText $csharpLabel Save an Excel File in C 本節介紹如何儲存包含新寫入內容的 Excel 檔案。 // Save the updated Excel workbook to a file workBook.SaveAs("sample.xlsx"); // Save the updated Excel workbook to a file workBook.SaveAs("sample.xlsx"); $vbLabelText $csharpLabel 完整的程式碼如下: using System; using IronXL; class Program { static void Main(string[] args) { // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV WorkBook workBook = WorkBook.Load("sample.xlsx"); // Select worksheet at index 0 WorkSheet workSheet = workBook.WorkSheets[0]; // Access A1 cell and write the value workSheet["A1"].Value = "Value using cell reference"; // Write the same value to cells from B1 to B5 workSheet["B1:B5"].Value = "Range value"; // Specify range in which we want to write the values for (int i = 1; i <= 5; i++) { // Write the Dynamic value in column C workSheet["C" + i].Value = "Value: " + i; // Write the Dynamic value in column D workSheet["D" + i].Value = "Value: " + i; } // Replace the value in cell D5 workSheet["D5"].Replace("Value: 5", "Replaced Value"); // Save the updated Excel workbook to a file workBook.SaveAs("sample.xlsx"); Console.WriteLine("Successfully written to Excel File"); } } using System; using IronXL; class Program { static void Main(string[] args) { // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV WorkBook workBook = WorkBook.Load("sample.xlsx"); // Select worksheet at index 0 WorkSheet workSheet = workBook.WorkSheets[0]; // Access A1 cell and write the value workSheet["A1"].Value = "Value using cell reference"; // Write the same value to cells from B1 to B5 workSheet["B1:B5"].Value = "Range value"; // Specify range in which we want to write the values for (int i = 1; i <= 5; i++) { // Write the Dynamic value in column C workSheet["C" + i].Value = "Value: " + i; // Write the Dynamic value in column D workSheet["D" + i].Value = "Value: " + i; } // Replace the value in cell D5 workSheet["D5"].Replace("Value: 5", "Replaced Value"); // Save the updated Excel workbook to a file workBook.SaveAs("sample.xlsx"); Console.WriteLine("Successfully written to Excel File"); } } $vbLabelText $csharpLabel 有關如何在 C# 中讀取 Excel 文件資料的更多詳細信息,請參閱此範例。 輸出 文件的輸出結果為: 輸出的 Excel 文件 概括 本文示範如何使用IronXL在 C# 中將資料寫入 Excel 檔案。 IronXL提供了輕鬆處理現有 Excel 檔案的功能。 它還允許您建立新的 Excel 文件,並使用簡單的語法向其中寫入資料。 即使沒有安裝 Microsoft Excel 應用程序, IronXL也可以讀取 Excel 檔案。 要從 Excel 檔案讀取數據,您可以查看此程式碼範例頁面。 IronXL可免費用於開發,並可授權用於商業用途。 您也可以試用IronXL 的商業用途免費試用版。 常見問題解答 如何在 C# 中不使用 Interop 開啟 Excel 檔案? 您可以使用 IronXL 函式庫在 C# 中不使用 Interop 開啟 Excel 檔案。IronXL 允許您高效處理 Excel 檔案,無需安裝 Microsoft Excel,提高效能和相容性。 如何使用 C# 將資料寫入 Excel 檔案中的特定儲存格? 使用 IronXL,您可以通過存取活頁簿,選擇工作表,然後使用儲存格參照將值寫入所需儲存格來寫入資料。 使用 IronXL 比 Office Interop 在 Excel 檔案操作上有什麼優勢? IronXL 比 Office Interop 有幾個優勢,包括不依賴 Microsoft Excel 安裝、提高效能、跨平台相容性,以及支援多種 Excel 檔案格式,如 XLS、XLSX 和 CSV。 我可以使用這個函式庫編輯 Excel 檔案中的公式嗎? 可以,IronXL 允許您編輯 Excel 檔案中的公式。您可以操控現有公式或使用簡單語法插入新公式,函式庫會有效處理這些公式。 IronXL 支援不同的 Excel 文件格式嗎? IronXL 支援多種 Excel 檔案格式,如 XLS、XLSX、XLSM、CSV 和 TSV,讓您可以在 C# 應用程式中無縫創建、讀取和編輯這些檔案。 可以使用 IronXL 保護 Excel 檔案嗎? 可以,IronXL 提供功能設置使用者密碼和權限來保護 Excel 檔案,以確保資料安全與管控存取權限。 如何將 IronXL 函式庫整合到我的 C# 專案中? 要將 IronXL 整合到您的 C# 專案中,您可以在 Visual Studio 使用 NuGet 套件管理器,搜尋 IronXL 並將其添加到您的專案以開始使用其功能。 IronXL 支持哪些平台? IronXL 支援多個平台,包括 .NET 5、6 和 7,還有 .NET Core 和 Framework,使其成為適合各種開發環境的多功能選擇。 我可以免費使用 IronXL 嗎? IronXL 可免費用於開發用途。然而,商業使用需要許可。如果要在商業環境中測試函式庫的功能,提供的免費試用版可用。 如何使用 IronXL 將 Excel 資料匯出為 JSON? IronXL 允許您將 Excel 資料匯出為 JSON 格式,通過將工作表或特定資料範圍轉換為 JSON 字串,然後在需要 JSON 資料的應用程式中使用。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担產品测测试,產品開發和研究的责任時,Jordi 為持续的產品改進增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 更新2026年3月1日 在ASP.NET C#中下載Excel文件:將數據匯出到XLSX,CSV和更多格式 使用C#和IronXL在ASP.NET Core中下載Excel文件。從MVC控制器中匯出數據到XLSX, CSV和XML,附有MemoryStream和File()返回。包括代碼範例。 閱讀更多 更新2026年3月1日 如何在Blazor中使用IronXL匯出Excel文件 學習如何在Blazor伺服器應用程式中使用IronXL将數據匯出到Excel。此指南涵蓋專案設置、服務設計、條件格式化、多表報告和錯誤處理,附有完整的C#代碼範例。 閱讀更多 更新2026年2月27日 如何在C#中而不是使用StreamReader來讀取Excel文件 了解StreamReader為何無法讀取Excel文件,並學習如何使用IronXL加載來自磁盤或內存流的XLSX和XLS工作簿。 閱讀更多 如何在 C# 中使用 IronXL 禁用 Excel 的受保護視圖如何在 C# 中將巨大數據從 ...
更新2026年3月1日 在ASP.NET C#中下載Excel文件:將數據匯出到XLSX,CSV和更多格式 使用C#和IronXL在ASP.NET Core中下載Excel文件。從MVC控制器中匯出數據到XLSX, CSV和XML,附有MemoryStream和File()返回。包括代碼範例。 閱讀更多
更新2026年3月1日 如何在Blazor中使用IronXL匯出Excel文件 學習如何在Blazor伺服器應用程式中使用IronXL将數據匯出到Excel。此指南涵蓋專案設置、服務設計、條件格式化、多表報告和錯誤處理,附有完整的C#代碼範例。 閱讀更多
更新2026年2月27日 如何在C#中而不是使用StreamReader來讀取Excel文件 了解StreamReader為何無法讀取Excel文件,並學習如何使用IronXL加載來自磁盤或內存流的XLSX和XLS工作簿。 閱讀更多