如何使用 C# 在 Excel 中清除儲存格內容 | IronXL

如何使用 IronXL 在 C# 中清除 Excel 儲存格

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

IronXL 提供 ClearContents() 方法,可在 C# 中立即清除 Excel 儲存格中的資料,僅需一行程式碼即可清除單一儲存格、範圍、列或欄中的數值或公式,同時保留格式設定。 與其他 Excel 互通解決方案不同,IronXL 無需安裝 Microsoft Excel,且能在 Windows、Linux 和 macOS 平台上無縫運作。

使用儲存格清除功能來移除不需要或過期的資料、重設儲存格值、整理試算表版面、準備範本,或修正資料輸入錯誤。 此功能對於在自動化工作流程中透過程式碼編輯 Excel 檔案至關重要。

快速入門:單一呼叫即可移除儲存格內容

使用 IronXL 僅需一行程式碼即可清除任何儲存格範圍的內容——無需迴圈或複雜的 API。 ClearContents() 方法可在移除資料或公式的同時保留格式。 在 C# 應用程式中處理 Excel 時,此方法比傳統方式簡單得多。

  1. using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronXL.Excel

    PM > Install-Package IronXL.Excel
  2. 請複製並執行此程式碼片段。

    workSheet["D6:F9"].ClearContents();
  3. 部署至您的生產環境進行測試

    立即透過免費試用,在您的專案中開始使用 IronXL

    arrow pointer


如何清除單一儲存格?

使用 ClearContents 方法清除選取儲存格的內容。 此方法會在保留試算表整體結構與格式的前提下,移除特定資料點。 在載入試算表進行資料處理時,您可能需要根據特定條件清除個別儲存格。

:path=/static-assets/excel/content-code-examples/how-to/clear-cells-clear-single-cell.cs
using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Data");

// Clear cell content
workSheet["A1"].ClearContents();

workBook.SaveAs("clearSingleCell.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.GetWorkSheet("Data")

' Clear cell content
workSheet("A1").ClearContents()

workBook.SaveAs("clearSingleCell.xlsx")
$vbLabelText   $csharpLabel

為什麼 ClearContents 會保留格式?

ClearContents 方法能保留儲存格格式,因為它僅移除資料值和公式,而保留樣式、邊框、字型和顏色。 此設計讓開發人員在更新資料時,仍能維持試算表的外觀一致性。 儲存格的屬性(例如背景圖案與顏色邊框與對齊方式,以及字型樣式)將保持不變,確保在進行資料操作時,試算表的視覺設計能維持一致性。

何時該使用單元格清除功能?

單一儲存格清除功能可精確控制資料的移除。 常見的使用情境包括:

  • 修正財務報告中的個別資料輸入錯誤
  • 在分享前從特定儲存格中移除敏感資訊
  • 清除計算結果,同時保留相鄰儲存格中的公式
  • 重置 Excel 表單中的使用者輸入欄位
  • 資料驗證情境中更新特定資料點

如何清除儲存格範圍?

無論範圍大小,皆可對任何範圍執行 ClearContents 方法。範圍清除功能的靈活性,使其非常適合在 Enterprise 應用程式中管理試算表時進行大量資料操作。 範例包括:

  • 清除單一儲存格:
    • workSheet["A1"].ClearContents()
  • 清除欄位:
    • workSheet.GetColumn("B").ClearContents()
  • 清除一行:
    • workSheet.GetRow(3).ClearContents()
  • 清除二維範圍(多行多列):
    • workSheet["D6:F9"].ClearContents()
:path=/static-assets/excel/content-code-examples/how-to/clear-cells-clear-cell-range.cs
using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Data");

// Clear a single cell(A1)
workSheet["A1"].ClearContents();

// Clear a column(B)
workSheet.GetColumn("B").ClearContents();

// Clear a row(4)
workSheet.GetRow(3).ClearContents();

// Clear a two-dimensional range(D6:F9)
workSheet["D6:F9"].ClearContents();

workBook.SaveAs("clearCellRange.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.GetWorkSheet("Data")

' Clear a single cell(A1)
workSheet("A1").ClearContents()

' Clear a column(B)
workSheet.GetColumn("B").ClearContents()

' Clear a row(4)
workSheet.GetRow(3).ClearContents()

' Clear a two-dimensional range(D6:F9)
workSheet("D6:F9").ClearContents()

workBook.SaveAs("clearCellRange.xlsx")
$vbLabelText   $csharpLabel

針對複雜的範圍操作,可將清除功能與 IronXL 的其他功能(如選取範圍排序儲存格)結合使用,以建立強大的資料處理工作流程。

清除行與清除欄有何區別?

清除行與清除列在作用範圍及對資料結構的影響上有所不同:

清除列:

  • 橫向清除試算表中的所有資料
  • 適用於移除完整的記錄或條目
  • 保留欄位標題與垂直資料關聯性
  • 特別適用於類似資料庫的結構,其中每一列代表一個完整的記錄

清除欄位:

  • 垂直清除試算表中的所有資料
  • 非常適合移除整個資料類別或欄位
  • 維持行間關聯性與記錄完整性
  • 用於重構資料結構或移除不必要的屬性

範圍選取如何影響效能?

在處理大型資料集時,區間選擇會顯著影響效能。 清除如 "A1:Z1000" 這樣的特定範圍,比在迴圈中逐個清除單一儲存格更為高效。IronXL 會在內部優化批次操作,因此基於範圍的清除方式是針對效能關鍵型應用程式的首選方案。 處理大量資料集時,請使用命名範圍以提升程式碼的可讀性與可維護性。

清除合併儲存格時會發生什麼情況?

使用 ClearContents() 清除合併儲存格時,僅會移除內容,合併狀態仍會保留。 儲存格應保持合併狀態,以維持版面結構。 此行為在處理格式化報表或範本時尤為重要,因為合併儲存格會形成標題或視覺分組。 若要取消合併儲存格,請在清除內容後使用其他方法。

Spreadsheet with 6x10 cell range A1:F10 containing sample data before clearing operation
Spreadsheet showing highlighted cell ranges A2-C3, D5-F5, and D10-F10 with red borders for clear range operations

如何清除所有工作表?

使用工作表集合上的 Clear 方法,刪除工作簿中的所有工作表。 此方法可一次移除所有工作表,提供一種將工作簿重設為初始狀態的便捷方式。 此功能在建立新試算表或重新運用現有工作簿結構時非常實用。

:path=/static-assets/excel/content-code-examples/how-to/clear-cells-clear.cs
using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");

// Delete all worksheets
workBook.WorkSheets.Clear();

workBook.SaveAs("useClear.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Delete all worksheets
workBook.WorkSheets.Clear()

workBook.SaveAs("useClear.xlsx")
$vbLabelText   $csharpLabel

為什麼我需要清除所有工作表?

在 Excel 自動化中,清除所有工作表具有以下幾項用途:

  1. 重設範本:清除工作表,以便在使用 Excel 檔案作為範本時,為新資料匯入提供一個乾淨的起點
  2. 記憶體優化:在處理多個 Excel 檔案時有效管理記憶體使用量
  3. 資料安全:在重複使用檔案前,務必徹底清除敏感資料
  4. 工作流程自動化:防止批次處理情境中,不同迭代間的資料污染
  5. 測試與開發:在測試週期中將工作簿重置為初始狀態

清除所有工作表後,工作簿會發生什麼情況?

清除所有工作表後,工作簿將保留為一個空容器。 儲存前請新增至少一個工作表,因為 Excel 要求每個工作簿至少包含一個工作表。 若您嘗試儲存空的工作簿,IronXL 會自動處理此需求。 此行為符合 Excel 的基本結構,並確保檔案在不同 Excel 版本及應用程式間的相容性。

若需進行進階工作表操作,請參閱 IronXL 的完整 API 參考文件,以探索更多工作表操作與資料處理的方法。

常見問題

如何使用 C# 在 Excel 中清除儲存格內容?

using IronXL 的 ClearContents() 方法,可在 C# 中清除 Excel 儲存格中的資料。此方法能保留儲存格格式,同時僅需一行程式碼(例如 workSheet["D6:F9"].ClearContents())即可清除單一儲存格、範圍、列或欄中的數值或公式。

在 Excel 試算表中清除儲存格會移除格式嗎?

不,IronXL 的 ClearContents() 方法僅會移除資料值和公式,同時保留所有儲存格格式,包括樣式、邊框、字型、顏色、背景圖案及對齊設定。

在 C# 中可以一次清除多個儲存格嗎?

是的,IronXL 允許您透過單一指令清除整個儲存格範圍。您可以指定任何範圍(例如「D6:F9」),無需使用迴圈或複雜的 API 即可同時清除多個儲存格。

是否需要安裝 Microsoft Excel 才能透過程式碼清除儲存格?

不,IronXL 無需在您的系統上安裝 Microsoft Excel。它可在 Windows、Linux 和 macOS 平台上獨立運作,因此非常適合用於伺服器環境。

清除儲存格與刪除工作表有何區別?

IronXL 提供 ClearContents() 方法,可在保持結構完整的前提下清除儲存格中的資料;並提供 Clear() 方法用於刪除整個工作表。ClearContents 會保留格式與工作表佈局,而 Clear 則會完全移除工作表。

何時應使用單一儲存格清除,何時又應使用範圍清除?

當您需要根據條件更新特定資料點時,請使用 IronXL 的單一儲存格清除功能以進行精確控制。若需重置整個區段、準備範本,或在自動化工作流程中高效清理多個儲存格,請使用範圍清除功能。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備開始了嗎?
Nuget 下載 2,052,917 | 版本: 2026.6 just released
Still Scrolling Icon

還在捲動嗎?

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