使用 IRONXL 如何在 C# 中開啟 Excel 文件和撰寫數據 Jordi Bardia 更新日期:6月 22, 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 本文將探討IronXL庫,演示如何在C#控制台應用程式中打開Microsoft Excel文件並向其中寫入數據。 IronXL - Excel 庫 IronXL是一個.NET Excel庫,可在C#應用程序中創建、讀取和編輯Excel文件。 它提供了卓越的性能和準確的輸出。 The library supports all Excel workbook file formats, including XLS, XLSX, XLSM, CSV, and TSV. Additionally, it allows data to be saved or exported in formats such as JSON, HTML, Binary, Byte Array, DataSet, or DataTable. 使用IronXL,開發人員可以無縫地處理工作表和單元格範圍。 它提供了編輯公式並輕鬆在頁面內重新計算的功能。 數據排序基於範圍、列或行是直接的。 The library provides features to modify layouts, such as freezing panes, auto-sizing rows/columns, and adding/removing rows/columns. IronXL還允許保護Excel文件,設置用戶密碼和編輯許可權。 另一個顯著的特點是能夠在Excel工作表中添加、刪除和提取圖像。 該庫提供了廣泛的Excel功能,支持各種單元格數據格式。 這些功能使IronXL成為處理Excel文件的最友好的API之一。 IronXL的一個重大優勢是它不需要在計算機上安裝Microsoft Excel,消除了對Office互操作或任何其他依賴的需求。 它與多個平台兼容,支持.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; Imports IronXL $vbLabelText $csharpLabel 在C#中打開現有Excel文件 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"); ' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV Dim workBook As 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; ' Select worksheet at index 0 Dim workSheet As WorkSheet = workBook.WorkSheets(0) ' Select worksheet by name Dim ws As WorkSheet = workBook.GetWorkSheet("Sheet1") ' Get any existing worksheet Dim firstSheet As WorkSheet = workBook.DefaultWorkSheet $vbLabelText $csharpLabel 上面的代碼從Excel工作簿中獲取第一個工作表。 要創建帶有數據的新Excel文件,請查看此代碼示例頁面。 現在,讓我們使用IronXL對象庫向Excel文件寫入數據。 在C#中向Excel文件寫入數據 使用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"; ' 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"; ' 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; } ' Specify range in which we want to write the values For i As Integer = 1 To 5 ' 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 Next 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"); ' Replace the value in cell D5 workSheet("D5").Replace("Value: 5", "Replaced Value") $vbLabelText $csharpLabel 在C#中保存Excel文件 本節說明如何將包含新內容的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"); ' 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"); } } Imports System Imports IronXL Friend Class Program Shared Sub Main(ByVal args() As String) ' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Select worksheet at index 0 Dim workSheet As 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 i As Integer = 1 To 5 ' 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 Next 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") End Sub End Class $vbLabelText $csharpLabel 有關在C#中讀取Excel文件數據的更多詳細資訊,請查看此示例。 輸出 文件的輸出是: 輸出 Excel 文件 總結 本文演示如何使用IronXL在C#中向Excel文件寫入數據。 IronXL 提供了與現有 Excel 文件輕鬆工作的功能。 它還允許您創建新的Excel文件並用簡單的語法寫入數據。 IronXL還可以在不安裝Microsoft Excel應用程序的情況下讀取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 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 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 讀取器的有效方法,提供實用範例。 閱讀更多 如何在 C# 中使用 IronXL 禁用 Excel 的受保護視圖如何在 C# 中將巨大數據從 ...
發表日期 10月 27, 2025 如何在 C# 中將 DataGridView 匯出為 Excel 並保留列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多