如何對儲存格套用條件格式

如何使用 C# 在 Excel 中套用條件格式

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

透過 IronXL 的簡易 API 在 C# 中套用條件格式,利用比較運算子與樣式選項建立規則,並將其套用至 Excel 試算表中的特定儲存格範圍。

條件格式化是試算表和資料處理軟體中的一項功能,可讓您根據特定條件或準則,對儲存格或資料套用特定的格式樣式或規則。 它讓您能夠視覺化地標示或突顯符合特定條件或標準的資料,使您更容易分析與理解試算表或表格中的資料。 無論您是處理現有的 Excel 檔案,還是從頭開始建立新的試算表,IronXL 都能提供全面的支援,協助您實作條件格式設定規則。

使用 IronXL 新增、檢索及移除條件格式。 在添加帶有樣式的條件格式時,您可以調整字型和字號、設定邊框與對齊方式,並定義背景圖案和顏色。 這些格式設定選項可與公式儲存格資料格式等其他 Excel 功能無縫整合。

快速入門:輕鬆新增"小於"格式規則

立即開始使用 IronXL:僅需一行程式碼即可建立條件格式化規則,並將其套用至一組儲存格。 設定您的條件與風格,IronXL 將處理其餘事項。

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

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

    var rule = workSheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8"); workSheet.ConditionalFormatting.AddConditionalFormatting("A1:A10", rule);
  3. 部署至您的生產環境進行測試

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

    arrow pointer

開始使用 IronXL


如何新增條件格式化規則?

條件格式化由一組規則與樣式組成,當儲存格符合指定規則條件時,這些規則與樣式便會套用。 樣式設定可包含字型與字號調整邊框與對齊設定,以及背景圖案與顏色。 這些格式化功能與 IronXL 選取範圍及處理特定儲存格集合的能力完美整合。

若要定義規則,請使用 IronXL 提供的 CreateConditionalFormattingRule 方法。 將此方法所傳回的物件賦值給一個變數,並利用它來套用所需的樣式。 最後,請使用 ApplyConditionalFormattingRule 方法,同時提供所建立的規則及其應套用的儲存格範圍。 此方法類似於您透過程式碼管理試算表或操作其他 Excel 功能的方式。

有哪些比較運算子可用?

IronXL 支援一套完整的比較運算子,讓您能夠建立複雜的條件格式化規則。 這些運算子能與數值、日期,甚至在適當情況下與文字進行比對,並能無縫運作。 可用的規則如下:

  • NoComparison:預設值,用於不進行比對而僅套用格式時
  • Between:突出顯示特定範圍內的數值
  • NotBetween:標示超出指定範圍的數值
  • Equal:匹配精確值
  • NotEqual:排除特定值
  • GreaterThan:標示高於閾值的數值
  • LessThan:標示低於閾值的數值
  • GreaterThanOrEqual:包含閾值
  • LessThanOrEqual:包含閾值

這些運算子可與各種資料類型結合使用,在分析從 CSV 檔案或其他來源匯入的資料時效果尤佳。

如何設定條件格式化樣式?

在建立條件格式化規則時,IronXL 提供豐富的樣式設定選項。 您可以透過修改各種視覺屬性,自訂符合您條件的儲存格外觀。 以下範例示範如何建立規則並套用背景顏色樣式:

:path=/static-assets/excel/content-code-examples/how-to/conditional-formatting-add.cs
using IronXL;
using IronXL.Formatting.Enums;

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

// Create conditional formatting rule
var rule = workSheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8");

// Set style options
rule.PatternFormatting.BackgroundColor = "#54BDD9";

// Add conditional formatting rule
workSheet.ConditionalFormatting.AddConditionalFormatting("A1:A10", rule);

workBook.SaveAs("addConditionalFormatting.xlsx");
Imports IronXL
Imports IronXL.Formatting.Enums

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

' Create conditional formatting rule
Private rule = workSheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8")

' Set style options
rule.PatternFormatting.BackgroundColor = "#54BDD9"

' Add conditional formatting rule
workSheet.ConditionalFormatting.AddConditionalFormatting("A1:A10", rule)

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

Style 屬性不僅提供背景顏色設定,還可存取多種樣式選項。 您亦可修改圖案樣式、前景顏色及圖案填充效果,以建立更複雜的視覺指示符。 這種靈活性讓您能建立符合貴組織品牌形象的格式,或使特定資料模式能立即被辨識。

套用格式後會呈現什麼樣貌?

Spreadsheet with columns A and B containing numbers 1-10 before conditional formatting is applied
Spreadsheet with blue conditional formatting applied to cells A1-A7, showing formatted vs unformatted columns

如何檢索現有的條件格式設定?

當您需要修改已包含格式設定規則的試算表,或希望分析套用至特定範圍的格式設定邏輯時,善用現有的條件格式設定至關重要。 IronXL 讓存取和修改這些現有規則變得輕而易舉。

若要擷取條件格式化規則,請使用 GetConditionalFormattingRule 方法。 所回傳的規則物件可能包含多個規則; 使用 RuleAtIndex 方法來存取特定項目。 檢索到的規則多數屬性無法修改,但您可以透過 Style 屬性調整 BackgroundColor。 此限制確保規則的核心邏輯保持完整,同時仍允許進行視覺上的自訂。

我可以在現有規則上修改哪些屬性?

在處理檢索到的條件格式化規則時,請了解哪些屬性可以進行修改。 主要可調整的屬性是背景顏色,這讓您能在不改變底層條件邏輯的情況下,更新視覺外觀。 以下範例展示如何檢索及修改現有規則:

:path=/static-assets/excel/content-code-examples/how-to/conditional-formatting-retrieve.cs
using IronXL;

WorkBook workBook = WorkBook.Load("addConditionalFormatting.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Create conditional formatting rule
var ruleCollection = workSheet.ConditionalFormatting.GetConditionalFormattingAt(0);
var rule = ruleCollection.GetRule(0);

// Edit styling
rule.PatternFormatting.BackgroundColor = "#B6CFB6";

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

Private workBook As WorkBook = WorkBook.Load("addConditionalFormatting.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Create conditional formatting rule
Private ruleCollection = workSheet.ConditionalFormatting.GetConditionalFormattingAt(0)
Private rule = ruleCollection.GetRule(0)

' Edit styling
rule.PatternFormatting.BackgroundColor = "#B6CFB6"

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

當您需要更新試算表的視覺主題,同時保留嵌入條件格式化規則中的商業邏輯時,此方法特別有用。

如何存取集合中的多個規則?

在處理複雜的試算表時,您可能會遇到同一範圍或重疊範圍被套用多條條件格式化規則的情況。 GetConditionalFormattingRules 方法會傳回一個集合,該集合可能包含多條規則。 您可以使用標準的集合方法遍歷這些規則,或透過 RuleAtIndex 索引存取特定規則。 當處理來自不同來源且可能具有不同格式要求的資料時,此功能尤為實用。

Excel spreadsheet showing rows 1-7 in column A highlighted with blue conditional formatting, rows 8-10 unformatted
Excel spreadsheet with green conditional formatting applied to cells A1-A10 containing numbers 1-10

如何移除條件格式化?

在某些情況下,您需要完全移除條件格式化規則。 這在準備資料以供匯出、簡化試算表維護,或當格式規則不再符合您當前的資料分析需求時,可能會有此必要。

若要移除條件格式化規則,請使用 RemoveConditionalFormattingRule 方法。 將目標規則的索引傳遞給此方法。 此操作對當前工作簿執行例而言是永久性的,但如有需要,您隨時可以重新載入原始檔案。

何時應移除條件格式化規則?

請在以下情況考慮移除條件格式化規則:

  • 資料匯出:當匯出至不支援格式設定的各種格式
  • 效能優化:在處理大型資料集時,複雜的規則可能會影響效能
  • 規則衝突:多條重疊的規則會造成混淆或產生意外結果
  • 簡易分析:為自動化處理預先處理資料,此階段無需格式調整
  • 範本製作:建立簡潔的範本供他人使用
:path=/static-assets/excel/content-code-examples/how-to/conditional-formatting-remove.cs
using IronXL;

WorkBook workBook = WorkBook.Load("addConditionalFormatting.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Remove conditional formatting rule
workSheet.ConditionalFormatting.RemoveConditionalFormatting(0);

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

Private workBook As WorkBook = WorkBook.Load("addConditionalFormatting.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Remove conditional formatting rule
workSheet.ConditionalFormatting.RemoveConditionalFormatting(0)

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

CreateConditionalFormattingRule AddConditionalFormatting GetConditionalFormattingAt CreateConditionalFormattingRule AddConditionalFormatting PatternFormatting GetConditionalFormattingAt GetRule BackgroundColor PatternFormatting GetConditionalFormattingAt GetRule(index) RemoveConditionalFormatting

移除後,儲存格樣式會如何?

當您移除條件格式設定規則時,僅會移除條件格式設定——底層的儲存格資料及任何直接格式設定均維持不變。 儲存格將恢復其原始格式,其中包含直接套用至儲存格(而非透過條件格式化規則)的任何樣式。 若儲存格曾直接套用特定字型、邊框或底色(而非透過條件格式化),在移除條件格式化後,這些樣式仍會保留。

此功能可確保您的資料完整性,同時讓您完全掌控試算表的視覺呈現效果。 若需更進階的格式設定功能,請參閱 IronXL 的完整 API 參考文件,以了解所有可用的格式設定選項。

常見問題

如何在 C# 中為 Excel 儲存格新增條件格式?

IronXL 讓您能輕鬆地在 C# 中新增條件格式。首先,使用 CreateConditionalFormattingRule 方法,搭配您想要的比較運算子與數值,建立一則條件格式規則。 接著,使用 AddConditionalFormatting 方法將其套用至儲存格範圍。例如:var rule = workSheet.Co/nditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8"); workSheet.Co/nditionalFormatting.AddConditionalFormatting("A1:A10", rule);

條件格式化規則支援哪些比較運算子?

IronXL 支援多種用於條件格式化規則的比較運算子,包括小於 (LessThan)、大於 (GreaterThan)、等於 (Equal)、不等於 (NotEqual) 等。您可在使用 CreateConditionalFormattingRule 方法建立規則時指定運算子,藉此依據不同條件(例如小於 8、大於 100 或等於特定文字)來標示儲存格。

我可以使用條件格式設定套用多種樣式嗎?

是的,IronXL 允許您透過條件格式設定規則套用全面的樣式。您可以調整字型與大小、設定邊框與對齊方式,並定義背景圖案與顏色。這些格式設定選項能與公式及儲存格資料格式等其他 Excel 功能無縫整合,讓您完全掌控儲存格在滿足特定條件時的顯示樣式。

如何從 Excel 檔案中擷取現有的條件格式設定規則?

IronXL 提供 GetConditionalFormattingAt 方法,用於從 Excel 檔案中擷取現有的條件格式化規則。這使您能夠檢視、修改或移除先前套用至特定儲存格範圍的規則,從而輕鬆管理並更新現有試算表中的條件格式化設定。

條件格式設定是否適用於新建立及現有的 Excel 檔案?

是的,無論您是處理現有的 Excel 檔案,還是從頭建立新的試算表,IronXL 皆提供全面的條件格式設定規則實作支援。您可以載入現有的試算表並新增條件格式,或建立新的工作簿,並在建置資料的同時套用格式設定規則。

我可以透過程式碼移除條件格式化規則嗎?

IronXL 讓您能夠透過程式碼新增、擷取及移除條件格式設定規則。這使您能完全掌控 Excel 檔案中的條件格式設定管理,並能根據應用程式的需求,動態更新或清除格式設定。

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
執行範例 觀看您的資料變成試算表。