IronXL 如何使用 撰寫 Excel .NET 使用 IronXL 在 C# 中編寫 Excel .NET 函數 Curtis Chau 更新:8月 20, 2025 下載 IronXL NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在雙子座打開 請向 Gemini 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English 許多 C# 應用程式專案需要我們以程式設計方式更新檔案並在 Excel 電子表格中寫入新資料。 Excel .NET 的功能有時可能很複雜,但使用 IronXL 庫,這項任務就變得非常簡單,並且可以處理任何格式的 Excel 電子表格。 無需編寫大量程式碼,只需訪問特定單元格並自訂您指定的值即可。 快速入門:向指定儲存格寫入值 本範例展示如何使用 IronXL 輕鬆地將值寫入單一儲存格,只需幾行程式碼即可儲存 Excel 檔案——無需樣板程式碼或複雜操作即可上手。 立即開始使用 NuGet 建立 PDF 檔案: 使用 NuGet 套件管理器安裝 IronXL PM > Install-Package IronXL.Excel 複製並運行這段程式碼。 worksheet["A1"].Value = "Hello, IronXL!"; workbook.SaveAs("output.xlsx"); 部署到您的生產環境進行測試 立即開始在您的專案中使用 IronXL,免費試用! 免費試用30天 編寫 Excel .NET 指令 下載用於 Excel .NET 的庫 在指定單元格中寫入值 在多個單元格中寫入靜態值 在單元格範圍中寫入動態值 替換特定行、列、範圍等中的單元格值 存取 Excel 文件 首先,讓我們開啟要寫入資料的 Excel 檔案。 讓我們開啟專案中的 Excel 文件,然後使用以下程式碼開啟其特定的工作表。 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-load-file.cs // Load Excel file in the project WorkBook workBook = WorkBook.Load("path"); ' Load Excel file in the project Dim workBook As WorkBook = WorkBook.Load("path") $vbLabelText $csharpLabel 上述操作將開啟指定的 Excel 檔案。接下來,請訪問工作表。 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-get-sheet.cs // Open Excel WorkSheet WorkSheet workSheet = workBook.GetWorkSheet("Sheet1"); ' Open Excel WorkSheet Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") $vbLabelText $csharpLabel Excel 工作表將在worksheet中打開,我們可以使用它向 Excel 文件中寫入任何類型的資料。若要了解如何載入 Excel 檔案以及如何以不同方式存取工作表,請點擊連結中的範例。 注意:不要忘記在您的專案中新增對IronXL的引用,並使用using IronXL導入庫。 將值寫入指定儲存格 我們可以使用多種不同的方法在 Excel 檔案中寫入數據,但基本方法是使用ExcelCell 。 為此,可以存取已開啟的 Excel 工作表中的任何儲存格,並按如下方式向其中寫入值: :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell.cs workSheet["Cell Address"].Value="Assign the Value"; workSheet("Cell Address").Value="Assign the Value" $vbLabelText $csharpLabel 以下舉例說明如何在我們的 C# 專案中使用上述函數向 Excel 儲存格寫入內容。 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell-full.cs using IronXL; // Load Excel file WorkBook workBook = WorkBook.Load("sample.xlsx"); // Open WorkSheet of sample.xlsx WorkSheet workSheet = workBook.GetWorkSheet("Sheet1"); // Access A1 cell and write the value workSheet["A1"].Value = "new value"; // Save changes workBook.SaveAs("sample.xlsx"); Imports IronXL ' Load Excel file Private workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Open WorkSheet of sample.xlsx Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") ' Access A1 cell and write the value Private workSheet("A1").Value = "new value" ' Save changes workBook.SaveAs("sample.xlsx") $vbLabelText $csharpLabel 這段程式碼會將new value寫入 Excel 檔案sample.xlsx中Sheet1工作表的A1儲存格。 同樣地,我們可以在 Excel 檔案的任何儲存格位址中插入值。 注意:在工作表中寫入新值後,不要忘記儲存 Excel 文件,如上例所示。 強制指定精確值 設定Value屬性時,IronXL 會嘗試將其轉換為對應的值類型。 有時,這種評估是不理想的,因為使用者希望強制將確切值分配給儲存格而不進行轉換。 為此,請將該值賦為字串。 在 IronXL 中,只需使用StringValue代替Value即可達到相同的效果。 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-stringvalue.cs // Assign value as string workSheet["A1"].StringValue = "4402-12"; ' Assign value as string workSheet("A1").StringValue = "4402-12" $vbLabelText $csharpLabel 將靜態值寫入指定範圍 我們可以將新值寫入多個儲存格(稱為範圍),如下所示: // Assign a static value to a range of cells worksheet["B2:C5"].Value = "static value"; // Assign a static value to a range of cells worksheet["B2:C5"].Value = "static value"; ' Assign a static value to a range of cells worksheet("B2:C5").Value = "static value" $vbLabelText $csharpLabel 這樣,我們就指定了要寫入資料的儲存格範圍From "到To 。 new value將寫入該範圍內的所有儲存格。 要了解更多關於C# Excel Range 的信息,請查看這裡的範例。 讓我們透過下面的範例來了解如何實際編寫範圍。 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell-range-full.cs using IronXL; // Load Excel file WorkBook workBook = WorkBook.Load("sample.xlsx"); // Open WorkSheet of sample.xlsx WorkSheet workSheet = workBook.GetWorkSheet("Sheet1"); // Specify range row wise and write new value workSheet["B2:B9"].Value = "new value"; // Specify range column wise and write new value workSheet["C3:C7"].Value = "new value"; // Save changes workBook.SaveAs("sample.xlsx"); Imports IronXL ' Load Excel file Private workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Open WorkSheet of sample.xlsx Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") ' Specify range row wise and write new value Private workSheet("B2:B9").Value = "new value" ' Specify range column wise and write new value Private workSheet("C3:C7").Value = "new value" ' Save changes workBook.SaveAs("sample.xlsx") $vbLabelText $csharpLabel 這段程式碼會將new value從B2寫入 Excel 檔案sample.xlsx工作表Sheet1中的C5 。 它使用Excel單元格的靜態值。 在一定範圍內寫入動態值 我們也可以為範圍新增動態值,如下所示。 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-dynamic-value.cs using IronXL; // Load Excel file WorkBook workBook = WorkBook.Load("sample.xlsx"); // Open WorkSheet of sample.xlsx WorkSheet workSheet = workBook.GetWorkSheet("Sheet1"); // Specify range in which we want to write the values for (int i = 2; i <= 7; i++) { // Write the Dynamic value in one row workSheet["B" + i].Value = "Value" + i; // Write the Dynamic value in another row workSheet["D" + i].Value = "Value" + i; } // Save changes workBook.SaveAs("sample.xlsx"); Imports IronXL ' Load Excel file Private workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Open WorkSheet of sample.xlsx Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") ' Specify range in which we want to write the values For i As Integer = 2 To 7 ' Write the Dynamic value in one row workSheet("B" & i).Value = "Value" & i ' Write the Dynamic value in another row workSheet("D" & i).Value = "Value" & i Next i ' Save changes workBook.SaveAs("sample.xlsx") $vbLabelText $csharpLabel 上述程式碼將動態值寫入 Excel 檔案sample.xlsx的B列第2到7 。 我們可以在sample.xlsx中看到程式碼的運行結果。 取代 Excel 儲存格值 使用 IronXL,我們可以輕鬆地使用Replace()函數寫入新值來取代舊值,如下所示: :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace.cs workSheet.Replace("old value", "new value"); workSheet.Replace("old value", "new value") $vbLabelText $csharpLabel 上述函數會將new value寫入整個 Excel 工作表,並覆寫old value 。 替換指定行中的儲存格值 如果只想在某一行寫入新值,請如下操作: :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-row.cs workSheet.Rows[RowIndex].Replace("old value", "new value"); workSheet.Rows(RowIndex).Replace("old value", "new value") $vbLabelText $csharpLabel 這將僅在指定的行索引處以new value覆寫old value 。 替換指定列中的儲存格值 同樣地,如果我們想在特定列中用new value覆寫old value ,請按如下方式操作: :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-column.cs workSheet.Columns[ColumnIndex].Replace("old value", "new Value"); workSheet.Columns(ColumnIndex).Replace("old value", "new Value") $vbLabelText $csharpLabel 上述程式碼會將new value寫入指定列索引以取代old value 。 工作表的其餘部分保持不變。 替換指定範圍內的儲存格值 IronXL 還提供了一種方法,可以僅在指定的範圍內寫入new value來取代old value 。 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-range.cs workSheet["From Cell Address : To Cell Address"].Replace("old value", "new value"); workSheet("From Cell Address : To Cell Address").Replace("old value", "new value") $vbLabelText $csharpLabel 這將把new value寫入old value上方,但僅限於指定範圍內的儲存格。 讓我們來看一個例子,了解如何使用上述所有函數在 Excel 工作表中寫入新值來取代舊值。 所有函數的範例 :path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-full.cs using IronXL; WorkBook workBook = WorkBook.Load("sample.xlsx"); WorkSheet workSheet = workBook.GetWorkSheet("Sheet1"); // Write new above old in complete WorkSheet workSheet.Replace("old", "new"); // Write new above old just in row no 6 of WorkSheet workSheet.Rows[5].Replace("old", "new"); // Write new above old just in column no 5 of WorkSheet workSheet.Columns[4].Replace("old", "new"); // Write new above old just from A5 to H5 of WorkSheet workSheet["A5:H5"].Replace("old", "new"); workBook.SaveAs("sample.xlsx"); Imports IronXL Private workBook As WorkBook = WorkBook.Load("sample.xlsx") Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") ' Write new above old in complete WorkSheet workSheet.Replace("old", "new") ' Write new above old just in row no 6 of WorkSheet workSheet.Rows(5).Replace("old", "new") ' Write new above old just in column no 5 of WorkSheet workSheet.Columns(4).Replace("old", "new") ' Write new above old just from A5 to H5 of WorkSheet workSheet("A5:H5").Replace("old", "new") workBook.SaveAs("sample.xlsx") $vbLabelText $csharpLabel 有關如何編寫 Excel .NET 應用程式等更多信息,請查看我們關於如何使用 C# 打開和寫入 Excel 文件的完整教程。 教程快速存取 閱讀 API 參考文檔 閱讀 IronXL 文檔,其中包括庫中所有可用的函數、特性、命名空間、類別和枚舉的列表。 閱讀 API 參考文檔 常見問題解答 如何開始使用 .NET 撰寫 Excel 檔案? 要開始使用 IronXL,請下載函式庫,並將其包含在您的專案中。在您的 C# 程式碼中使用 using IronXL 來匯入函式庫。 如何將值寫入 Excel 工作表中的特定儲存格? 若要使用 IronXL 將值寫入特定的儲存格,請使用儲存格的位址存取該儲存格,例如 worksheet['A1'] 並使用 .Value 屬性指定值。 如何在 Excel 中為單元格範圍指定靜態值? 若要使用 IronXL 為一個範圍指定靜態值,請使用儲存格位址指定範圍,例如 worksheet['B2:C5'] 並將 .Value 屬性設定為您想要的靜態值。 我可以將動態值寫入 Excel 中的儲存格範圍嗎? 是的,使用 IronXL,您可以使用循環或自訂邏輯將動態值寫入範圍。例如,您可以遍歷儲存格位址,並根據您的需求指定動態值。 如何取代 Excel 工作表中的現有儲存格值? 使用 IronXL,您可以在工作表、行、列或指定範圍中使用 Replace() 方法,將「舊值」取代為「新值」。 使用 Value 和 StringValue 有何不同? 在 IronXL 中,.Value 屬性可能會將指定的值轉換為特定類型的格式,而 .StringValue 則會將值指定為字串,避免轉換。 如何開啟和存取 Excel 檔案中的特定工作表? 使用 IronXL 的 WorkBook.Load('path/to/your/excel-file.xlsx「) 載入檔案,以及 workbook.GetWorkSheet(」SheetName') 存取特定的工作表。 寫入新值後是否需要儲存 Excel 檔案? 是的,使用 IronXL 時,您必須在變更 Excel 檔案後,使用 workbook.SaveAs('filename.xlsx') 方法儲存 Excel 檔案,以持續您的變更。 如何在特定行中寫入新值以取代舊值? 使用 IronXL,使用 worksheet.Rows[index] 存取行,然後以新舊數值呼叫 Replace() 方法。 我可以取代特定欄位中的值嗎? 是的,使用 IronXL,使用 worksheet.Columns['A'] 存取欄位,並使用 Replace() 方法在該欄位中以新值取代舊值。 如何確保我的 C# 專案能與 Excel 檔案互動? 確保您的 C# 專案引用 IronXL 函式庫,方法是下載該函式庫,並將其加入專案的引用中。這有助於與 Excel 檔案互動。 在 .NET 中寫入 Excel 檔案時,有哪些常見問題? 常見的問題包括未正確引用 IronXL 函式庫、不正確的單元格位址格式,以及忘記儲存變更。確保正確的設定和語法。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 準備好開始了嗎? Nuget 下載 1,738,553 | Version: 2025.11 剛發表 免費下載 NuGet 下載總數:1,738,553 檢視授權