使用 IRONXL 如何在 C# 中開啟 Excel 文件和撰寫數據 Jordi Bardia 更新:6月 22, 2025 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在雙子座打開 請向 Gemini 詢問此頁面 打開困惑 向 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,然後按一下"建立新專案" 如何在 C# 中開啟 Excel 檔案並寫入數據,圖 1:新項目 新專案 選擇"控制台應用程式",然後按一下"下一步"。 如何在 C# 中開啟 Excel 檔案並寫入數據,圖 2:新專案類型 新項目類型 輸入項目名稱 如何在 C# 中開啟 Excel 檔案並寫入數據,圖 3:新專案名稱 新項目名稱 4.選擇 .NET 版本。 選擇穩定版本 .NET 6.0。 [如何在 C# 中開啟 Excel 檔案並寫入數據,圖 4:新專案附加信息](/static-assets/excel/blog/open-excel-file-write-data-csharp-tutorial/open-excel-file-write-data-csharp-tutorial-4.webp) **新項目補充訊息** 安裝 IronXL 庫 專案建立完成後,需要將 IronXL 庫安裝到專案中才能使用它。 按照以下步驟安裝。 從解決方案資源管理器或工具開啟"管理解決方案的 NuGet 套件"。 如何在 C# 中開啟 Excel 檔案並寫入數據,圖 5:NuGet 套件管理器 NuGet 套件管理器 瀏覽 IronXL 庫並選擇目前項目。 點擊安裝。 如何在 C# 中開啟 Excel 檔案並寫入數據,圖 6:在 NuGet 套件管理器 UI 中搜尋並安裝 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 文件資料的更多詳細信息,請參閱此範例。 輸出 文件的輸出結果為: 如何在 C# 中開啟 Excel 文件並寫入數據,圖 7:輸出的 Excel 文件 輸出的 Excel 文件 摘要 本文示範如何使用 IronXL 在 C# 中將資料寫入 Excel 檔案。 IronXL 提供了輕鬆處理現有 Excel 檔案的功能。 它還允許您建立新的 Excel 文件,並使用簡單的語法向其中寫入資料。 即使沒有安裝 Microsoft Excel 應用程序,IronXL 也可以讀取 Excel 檔案。 要從 Excel 檔案讀取數據,您可以查看此程式碼範例頁面。 IronXL 可免費用於開發,並可授權用於商業用途。 您也可以嘗試 IronXL 的商業用途免費試用版。 常見問題解答 不使用 Interop,如何在 C# 中開啟 Excel 檔案? 您可以利用 IronXL.Excel 函式庫,在不使用 Interop 的情況下以 C# 開啟 Excel 檔案。IronXL 可讓您有效率地處理 Excel 檔案,而無需安裝 Microsoft Excel,提升效能與相容性。 如何使用 C# 將資料寫入 Excel 檔案中的特定儲存格? 使用 IronXL.Excel,您可以透過存取工作簿、選取工作表,然後使用儲存格引用將資料寫入 Excel 檔案中的特定儲存格,並將值指定到所需的儲存格。 與 Office Interop 相比,使用 IronXL 進行 Excel 檔案操作有哪些優勢? 與 Office Interop 相比,IronXL.Excel 具備多項優勢,包括不依賴 Microsoft Excel 安裝、效能提升、跨平台相容性,以及支援 XLS、XLSX 和 CSV 等多種 Excel 檔案格式。 我可以使用這個函式庫編輯 Excel 檔案中的公式嗎? 是的,IronXL.Excel 允許您編輯 Excel 檔案中的公式。您可以使用直接的語法操作現有公式或插入新公式,程式庫會有效率地處理這些公式。 IronXL 如何支援不同的 Excel 檔案格式? IronXL 支援多種 Excel 檔案格式,例如 XLS、XLSX、XLSM、CSV 和 TSV,讓您能夠在 C# 應用程式中無縫建立、讀取和編輯這些檔案。 是否可以使用 IronXL 保護 Excel 檔案? 是的,IronXL.Excel 提供透過設定使用者密碼和權限來保護 Excel 檔案的功能,可確保資料安全並控制存取權限。 如何將 IronXL 函式庫整合到我的 C# 專案中? 要將 IronXL 整合到您的 C# 專案中,您可以使用 Visual Studio 中的 NuGet Package Manager。搜尋 IronXL,並將其新增至您的專案,即可開始使用其功能。 IronXL 支援哪些平台? IronXL 支援多種平台,包括 .NET 5、6 和 7,以及 .NET Core 和 Framework,使其成為各種開發環境的多用途選擇。 我可以免費使用 IronXL 嗎? IronXL 對於開發用途是免費的。然而,若要用於商業用途,則必須取得授權。我們提供免費試用版,以便在商業環境中測試該函式庫的功能。 如何使用 IronXL 將 Excel 資料匯出為 JSON? IronXL.Excel 可讓您將 Excel 資料匯出為 JSON 格式,方法是將工作表或特定資料範圍轉換為 JSON 字串,然後將其用於需要 JSON 資料的應用程式中。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 12月 19, 2025 如何使用 C# Interop 與 IronXL 在 Excel 中建立資料透視表 在無需 Office 依賴的情況下在 C# 中構建 Excel 樞紐分析表。IronXL 對無需 Excel Interop 的樞紐型報告創建提供了強大的數據操作功能。 閱讀更多 發表日期 12月 18, 2025 使用 IronXL 將 C# DataGridView 匯出到 Excel,並帶有列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多 發表日期 12月 18, 2025 如何在 C# 中使用 IronXL 創建 Excel 生成報告 使用 IronXL 在 C# 中創建 Excel 報告生成。學習構建擁有格式化公式和數據庫集成的專業報告。 閱讀更多 如何在 C# 中使用 IronXL 禁用 Excel 的受保護視圖如何在 C# 中將巨大數據從 ...
發表日期 12月 19, 2025 如何使用 C# Interop 與 IronXL 在 Excel 中建立資料透視表 在無需 Office 依賴的情況下在 C# 中構建 Excel 樞紐分析表。IronXL 對無需 Excel Interop 的樞紐型報告創建提供了強大的數據操作功能。 閱讀更多
發表日期 12月 18, 2025 使用 IronXL 將 C# DataGridView 匯出到 Excel,並帶有列標題 學習如何在 C# 教程中使用 IronXL library 將 DataGridView 資料匯出為 Excel 同時保留列標題。分步教學。 閱讀更多
發表日期 12月 18, 2025 如何在 C# 中使用 IronXL 創建 Excel 生成報告 使用 IronXL 在 C# 中創建 Excel 報告生成。學習構建擁有格式化公式和數據庫集成的專業報告。 閱讀更多