如何在 C# 中編輯 Excel 文件

C# 編輯 Excel 檔案。

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

使用 IronXL.Excel 函式庫在 C# 中編輯 Excel 檔案,該函式庫提供簡單的方法以程式化方式修改儲存格、行、列和工作表,而無需 Excel Interop,可減少錯誤和複雜性。

開發人員在 C# 中修改 Excel 檔案時需要精確度,因為一個錯誤可能會損壞整個文件。 簡單、有效率的程式碼可降低出錯風險,並簡化 Excel 檔案的程式化編輯或刪除。 IronXL 為 以 C# 處理 Excel 檔案提供全面的解決方案,消除 Microsoft Office 的依賴性。 本指南涵蓋了在 C# 中使用經過測試的函數正確、快速地編輯 Excel 檔案的步驟。

快速入門:使用 IronXL 編輯特定儲存格值

本範例展示如何使用 IronXL.Excel 載入現有 Excel 檔案、更新單一儲存格,並儲存變更。 只需不到 5 行程式碼即可開始,無需 Interop。 對於複雜的操作,請探索我們全面的 API Reference

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronXL

    PM > Install-Package IronXL.Excel

  2. 複製並運行這段程式碼。

    IronXL.WorkBook.Load("file.xlsx").GetWorkSheet("Sheet1")["C3"].Value = "Hello IronXL";
    // then save your workbook
    iroExcelWorkBook.SaveAs("file.xlsx");
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronXL,免費試用!
    arrow pointer

步驟 1

如何設定 IronXL 以進行 C# Excel 編輯? 本教學使用 IronXL,一個 C# Excel 函式庫。 下載並安裝到您的專案中(免費開發),即可使用這些功能。 IronXL.Excel 支援各種平台,包括 [Linux](https://ironsoftware.com/csharp/excel/get-started/linux/) 和 [macOS](https://ironsoftware.com/csharp/excel/get-started/macos/),使其成為跨平台開發的多功能工具。 You can either Download IronXL.zip or read more and install via the NuGet package page. 安裝完成後,讓我們開始吧。 IronXL 新手? 請參閱我們的 [Get Started Overview](https://ironsoftware.com/csharp/excel/docs/) 以取得全面的介紹。
```shell :ProductInstall ``` 根據需要將`xxx`替換為相應的版本號。

操作指南

如何在 Excel 中編輯特定的儲存格值? 首先,學習如何編輯 Excel SpreadSheet 的特定儲存格值。 在 [ 以 C#](https://ironsoftware.com/csharp/excel/how-to/csharp-edit-excel-file/) 編輯 Excel 檔案時,這是最常見的操作之一。 匯入要修改的 Excel 試算表,然後存取其工作表。 如下所示進行修改。 IronXL 提供多種存取儲存格的方式,為不同的程式設計風格提供彈性。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-specific-cell-value.cs ``` 以下是Excel電子表格`sample.xlsx`的修改前後截圖: |前|後| |:---:|:-----:| |![Excel 試算表,高亮顯示的單元格在國家欄位中顯示"法國",示範單元格選擇編輯](/img/faq/excel/csharp-edit-excel-file/doc5_before1.png)。|![編輯儲存格內容後,Excel 儲存格 B4 顯示"新值",並有藍色選取邊框](/img/faq/excel/csharp-edit-excel-file/doc5_after1.png)。| 請注意修改 Excel SpreadSheet 值是多麼簡單。 在更新特定資料點而不影響試算表其他部分時,此方法非常有效。 透過儲存格位址編輯特定儲存格值的另一種方式: ```csharp // Alternative way to access specific cell and apply changes ws["B4"].Value = "New Value"; ```

如何在 Excel 中編輯全行值? 以靜態值輕鬆編輯 Excel SpreadSheet 的全行值。 此操作有助於一次更新整個記錄,例如重設資料或套用大量更新。 對於複雜的行操作,請探索 [新增行和列](https://ironsoftware.com/csharp/excel/how-to/add-rows-columns/)。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-row-value.cs ``` 請參閱下方`sample.xlsx`的螢幕截圖: |前|後| |:---:|:-----:| |![Excel 試算表,第 4 行高亮顯示法國政府部門資料與 Montana 產品](/img/faq/excel/csharp-edit-excel-file/doc5_before2.png)。|![Excel 表格顯示在銷售資料試算表的所有欄位中新增"New Value"項目的新行](/img/faq/excel/csharp-edit-excel-file/doc5_after2.png)。| 使用範圍函數編輯行中特定範圍的值: ```csharp // Editing a specific range of a row ws["A3:E3"].Value = "New Value"; ``` 在處理範圍時,您可能還需要 [ 選擇範圍](https://ironsoftware.com/csharp/excel/how-to/select-range/),以進行排序或套用公式等進階操作。

如何在 Excel 中編輯全列值? 以單一值輕易編輯 Excel SpreadSheet 的全列數值。 這對於更新貨幣欄位、套用新稅率或劃一整個欄位的資料格式等情況非常有效。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-column.cs ``` 這會產生我們的 `sample.xlsx` 試算表,如圖所示: |前|後| |:---:|:-----:| |![Excel 試算表中的 Country 欄以藍色突出顯示,顯示跨區段和國家/地區的業務資料](/img/faq/excel/csharp-edit-excel-file/doc5_before4.png)。|![Excel 試算表顯示欄 B 在大量欄位編輯操作後填入"新值"文字](/img/faq/excel/csharp-edit-excel-file/doc5_後4.png)。|

如何編輯具有動態值的整列? IronXL 允許使用動態值編輯特定的行。 透過為每個儲存格指定動態值來編輯一整行。 從資料庫或其他需要每個單元唯一值的來源匯入資料時,此方法非常有效。 請參閱範例: ```csharp :path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-row-dynamic.cs ``` 下表顯示此輸出中 Excel SpreadSheet `sample.xlsx` 的截圖: |前|後| |:---:|:-----:| |![Excel 電子表格,第 4 行高亮顯示使用動態值編輯前的企業段資料](/img/faq/excel/csharp-edit-excel-file/doc5_before3.png)。|![Excel 工作表,其中第 4 行在進行動態列編輯作業後顯示"新值 0-4"占位符文字](/img/faq/excel/csharp-edit-excel-file/doc5_after3.png)。|

如何編輯具有動態值的完整欄位? 簡單地編輯具有動態值的特定欄位。 此技術有助於以 ID 號碼、日期或基於行位置的計算值等順序資料填充欄位。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-full-column-dynamic.cs ``` 以下是`sample.xlsx`的表格結果: |前|後| |:---:|:-----:| |![高亮顯示 Country 一欄的 Excel 試算表,顯示跨區段和產品的業務資料](/img/faq/excel/csharp-edit-excel-file/doc5_before5.png)。|![批量編輯作業後,Excel 工作表顯示 Country 欄填滿了動態佔位符值 'New Value 1-9'](/img/faq/excel/csharp-edit-excel-file/doc5_after5.png)|

如何在 Excel 中取代試算表中的值? 使用 `Replace` 函式在 Excel SpreadSheet 中以更新值取代任何值類型。 在任何需要的情況下,使用此功能取代 Excel SpreadSheet 資料。 這對於資料清理、更新術語或糾正試算表間的系統錯誤非常有效。

如何替換整個工作表中的值? 若要在整個完整的 Excel `WorkSheet` 中以更新值取代特定值,請存取 `WorkSheet ws` (與上述範例相同),並套用 `Replace` 函式: ```csharp // Replace a specific value in the entire worksheet ws.Replace("old value", "new value"); ``` 此功能在完整的 Excel `WorkSheet` 中以 ` 新值取代 舊值`。 對於原本需要在 Excel 中進行手動尋找與取代作業的大量更新而言,這是一項強大的功能。 切記在任何變更之後儲存檔案,如上述範例所示。 如需儲存和匯出 Excel 檔案的詳細資訊,請參閱我們的 [轉換試算表檔案類型](https://ironsoftware.com/csharp/excel/how-to/convert-spreadsheet-file-types/)指南。

如何取代特定行中的值? 若要變更特定行而非整個工作表,請使用此代碼: ```csharp // Replace a specific value in a specific row ws.Rows[2].Replace("old value", "new value"); ``` 上述程式碼僅在第 2 行以 `new 值取代 old 值`。`WorkSheet` 的其他部分保持不變。

我該如何取代行範圍中的值? 在特定範圍內替換值,如下所示: ```csharp // Replace specific values in a row range ws["From Cell Address : To Cell Address"].Replace("old value", "new value"); ``` 若要在行號 `4` 的 `B4` 到 `E4` 的範圍內以新值取代舊值,請寫入: ```csharp ws["B4:E4"].Replace("old value", "new value"); ```

如何替換特定欄位中的值? 取代特定欄位的值,同時保持工作表的其他部分不變: ```csharp // Replace specific values in a column ws.Columns[1].Replace("old value", "new value"); ``` 上述程式碼僅針對列號 1 將 `old value` 替換為 `new value`。

如何替換欄位範圍中的值? 使用範圍函數在特定欄位的範圍內進行取代: ```csharp // Replace specific values in a column range ws["B5:B10"].Replace("old value", "new value"); ``` 上述程式碼僅在列 B 的 `B5` 至 `B10` 的範圍內,以 ` 新值取代 舊值`。

如何從 Excel 工作表中移除一列? IronXL.Excel 提供一個簡單的函式來移除 Excel `WorkSheet` 的特定行。 此功能有助於清理資料或從試算表中移除過期記錄。 請參閱範例: ```csharp :path=/static-assets/excel/content-code-examples/how-to/csharp-edit-excel-file-row-value.cs ``` 上述程式碼會移除 `sample.xlsx` 的第 3 行,如下表所示: |前|後| |:---:|:-----:| |![高亮顯示第 4 行的 Excel 工作表,顯示移除行操作前的加拿大政府部門資料](/img/faq/excel/csharp-edit-excel-file/doc5_before6.png)。|![Excel 工作表中第 4 行以藍色突出顯示,顯示移除行操作後的結果](/img/faq/excel/csharp-edit-excel-file/doc5_after6.png)。|

如何從 Excel 檔案中移除工作表? 若要移除 Excel 檔案的完整 `WorkSheet`,請使用下列方法。 這在整合資料或移除用於計算的臨時工作表時有所幫助。 如需管理工作表的詳細資訊,請參閱我們的 [ 管理工作表](https://ironsoftware.com/csharp/excel/how-to/manage-worksheet/)指南。 ```csharp // Remove a worksheet by its index wb.RemoveWorkSheet(1); // by sheet indexing ``` `wb`是`WorkBook`,與上述範例相同。 若要依名稱移除工作表 ```csharp // Remove a worksheet by its name wb.RemoveWorkSheet("Sheet1"); //by sheet name ``` IronXL.Excel 包含更多功能,可在 Excel SpreadSheet 中輕鬆執行任何類型的編輯和刪除。 探索其他功能,例如 [建立 Excel 圖表](https://ironsoftware.com/csharp/excel/how-to/csharp-create-excel-chart-programmatically/)、[套用條件格式化](https://ironsoftware.com/csharp/excel/how-to/conditional-formatting/),或 [使用公式](https://ironsoftware.com/csharp/excel/how-to/edit-formulas/)。 若對於在您的專案中使用 IronXL 有任何疑問,請聯絡我們的開發團隊。

圖書館快速訪問

IronXL 庫文檔

利用 IronXL C# 庫的各種函數,探索其全部功能,用於編輯、刪除、設定樣式和完善您的 Excel 工作簿。

IronXL 庫文檔
Documentation related to C# 編輯 Excel 檔案。

常見問題解答

在沒有安裝 Microsoft Office 的情況下,如何用 C# 編輯 Excel 檔案?

IronXL 可讓您在 C# 中編輯 Excel 檔案,而不需要 Microsoft Office 或 Excel Interop。它提供了一個可程式化修改儲存格、行、列和工作表的獨立函式庫,消除了 Office 的依賴性,並可跨平台運作,包括 Linux 和 macOS。

使用 C# 更新 Excel 檔案中儲存格數值的最簡單方法是什麼?

有了 IronXL,您只需幾行程式碼就能更新儲存格值:IronXL.WorkBook.Load("file.xlsx").GetWorkSheet("Sheet1")["C3"].Value = "Hello IronXL";隨後儲存工作簿。此方法不需要 Excel Interop,並可直接存取儲存格。

我可以在 Excel 中以程式化方式編輯整行整列嗎?

是的,IronXL 支援以靜態或動態數值編輯整列整行。您可以使用單一值修改整行、以程式化方式填入欄位,或使用資料庫或計算等各種來源的動態資料更新行。

如何使用 C# 從 Excel 檔案中移除行或工作表?

IronXL.Excel 提供了從工作表中移除行以及從 Excel 檔案中刪除整個工作表的簡單方法。這些操作都是以程式化的方式執行,不需要安裝 Excel,因此非常適合伺服器端應用程式。

是否可以在 Excel 試算表中尋找並取代整個試算表中的值?

是的,IronXL 包含在電子表格中搜尋和取代值的功能。您可以程式化地尋找特定值,然後用新的資料取代它們,類似 Excel 的原生尋找和取代功能,但透過 C# 程式碼來自動執行。

C# Excel 編輯函式庫支援哪些平台?

IronXL 支援多種平台,包括 Windows、Linux 和 macOS,是跨平台開發的多面手。無論部署環境如何,您都可以在 C# 應用程式中編輯 Excel 檔案。

如何開始使用 C# 編輯 Excel 檔案?

要開始使用,請透過 NuGet 套件管理員下載並安裝 IronXL。這個函式庫是免費供開發使用的。安裝完成後,您可以立即開始載入 Excel 檔案、修改儲存格,並使用簡單直覺的程式碼儲存變更。

與手動方式相比,程式化 Excel 編輯有哪些優點?

IronXL.Excel 支援程式化 Excel 編輯,可減少人為錯誤、自動執行重複性工作,並可進行手動耗時的大量作業。它還消除了 Excel Interop 的需要,降低了複雜性並提高了性能。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 1,765,830 | 版本: 2025.12 剛發表