如何在 NET 中使用 C# 寫入 Excel 檔案

使用IronXL在C#中編寫Excel .NET函式

This article was translated from English: Does it need improvement?
Translated
View the article in English

通過存取工作表、使用簡單的括號表示法設置單元格值並保存更改,在C#中使用IronXL編寫Excel資料。 該程式庫支持以程式方式寫入特定單元格、範圍和替換值,而無需複雜的程式碼。

C#應用程式通常需要以程式方式更新文件並在Excel電子表格中寫入新資料。 有時候,Excel .NET功能可能很複雜,但使用IronXL程式庫,這項任務變得簡單明瞭,允許以任何格式處理Excel電子表格。 直接存取特定單元格,並以最少的程式碼分配自定義值。 無論您是建立新電子表格還是編輯現有的Excel文件,IronXL提供了直觀的方法來滿足您的所有Excel自動化需求。

快速開始:將值寫入特定單元格

此範例顯示如何使用IronXL將值寫入單個單元格,並僅用幾行程式碼保存Excel文件。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronXL.Excel

    PM > Install-Package IronXL.Excel
  2. 複製並運行這段程式碼片段。

    worksheet["A1"].Value = "Hello, IronXL!";
    workbook.SaveAs("output.xlsx");
  3. 部署以在您的實時環境中測試

    今天就開始在您的專案中使用IronXL,透過免費試用

    arrow pointer

編寫Excel .NET指令

  • 下載Excel .NET的程式庫
  • 在特定單元格中寫入值
  • 在多個單元格中寫入靜態值
  • 在單元格範圍中寫入動態值
  • 在特定行、列、範圍等中替換單元格值
How To Work related to 使用IronXL在C#中編寫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 using IronXL中,您可以用它來在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

此程式碼在Excel文件new value。 同樣,您可以在Excel文件的任何單元格地址中插入值。如需更高級的格式選項,例如設置單元格字體與大小或應用背景顏色和圖案,IronXL提供了全面的樣式能力。

注意:在工作表中寫入新值後,不要忘記保存Excel文件,如上方範例所示。

我為什麼要強制分配精確值?

當設置Value屬性時,IronXL會嘗試將其轉換為相應的值型別。 有時這種評估是不理想的,因為您希望強制分配精確值到單元格中,而不進行轉換。 為此,將值分配為字串。 在IronXL中,簡單地使用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

通過這種方式,您可以指定資料將被寫入的單元範圍Tonew value將會被寫入此範圍內的所有單元格。 要了解更多有關C# Excel範圍,請查看這裡的範例。

查看下面的範例,以行動展示如何寫入範圍。

: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

此程式碼將sample.xlsx。 此處使用了Excel單元格的靜態值。


我如何在範圍中寫入動態值?

您也可以如下面所示將動態值新增到一個範圍中。 當您需要從資料庫填充資料或生成報告時,這非常有用。 您可能還想探索作為DataSet導入和匯出,以進行更複雜的資料操作。

: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文件7。 您可以在sample.xlsx上查看這段程式碼的結果。

電子表格顯示兩個高亮範圍,B2:B7和D2:D7填充了Value2到Value7

我如何替換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

上述函式將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

這將old 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

上述程式碼將old value,但僅限於指定的列索引。 工作表的其餘部分保持不變。

我如何在特定範圍內替換值?

IronXL還提供了一種方法來寫入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

這會將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應用程式等,請查看我們的完整教程打開和寫入Excel文件。 如果您正在處理不同的文件格式,您可能也會發現我們關於轉換電子表格文件型別的指南很有幫助。


快速存取教程

閱讀API參考

閱讀IronXL文件,包括程式庫中可用的所有功能、特點、命名空間、類和枚舉的列表。

閱讀API參考
Documentation related to 快速存取教程

常見問題

如何使用 C# 將值寫入 Excel 檔案中特定的儲存格?

using IronXL,您可以透過簡單地存取特定儲存格並設置其 Value 屬性來寫入特定儲存格。例如:worksheet["A1"].Value = "Hello, IronXL!";然後使用 workbook.SaveAs("output.xlsx") 儲存活頁簿。這種簡單方法消除了複雜的 Excel 互操作程式碼的需求。

程式化地寫入 Excel 檔案資料的第一步是什麼?

第一步是使用 IronXL 的 WorkBook.Load() 方法載入 Excel 檔案,然後存取您要寫入資料的特定工作表。IronXL 提供直觀的方法,使您能夠開啟任何 Excel 格式並立即開始使用儲存格和範圍。

我可以一次將資料寫入多個 Excel 儲存格嗎?

可以,IronXL 支援高效地寫入多個儲存格。您可以將靜態值單獨寫入多個指定儲存格,或使用儲存格範圍程式化地寫入多個儲存格的動態值。該程式庫同時提供針對單個儲存格操作和批量資料寫入的方法。

我如何在 Excel 試算表中取代現有的儲存格值?

IronXL 允許您透過簡單地存取儲存格並為其分配新值來取代其儲存格值。您可以取代特定行、列或範圍中的值。當您將新值分配給儲存格時,程式庫會自動處理現有資料的覆寫。

支援哪些 Excel 檔案格式以寫入資料?

IronXL 支援寫入所有主要的 Excel 檔案格式,包括 .xlsx、.xls、.xlsm 和 CSV 檔案。程式庫自動處理格式特定的需求,讓您無需更改程式碼即可使用任何格式的 Excel 試算表。

我需要安裝 Microsoft Excel 來在 C# 中寫入 Excel 檔案嗎?

不需要,IronXL 是獨立運行的,不需要 Microsoft Excel 或 Office Interop。它是一個獨立的 .NET 程式庫,能夠在任何系統上程式化地讀取、寫入和建立 Excel 檔案,非常適合用於未安裝 Excel 的伺服器應用程式和環境。

我如何在寫入 Excel 檔案資料後儲存更改?

在儲存格中寫入資料後,使用 IronXL 的 SaveAs() 方法建立新檔案,或使用 Save() 覆寫現有檔案,以儲存您的更改。該程式庫確保您的所有儲存格更新、格式和公式被正確地儲存在您指定的 Excel 檔案格式中。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備好開始了嗎?
Nuget 下載 2,150,290 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

仍在滾動嗎?

想要快速證明嗎? PM > Install-Package IronXL.Excel
運行一個範例 觀看您的資料成為試算表。