如何對單元格應用條件格式

如何使用 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 吧。

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

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

    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方法。 將此方法傳回的物件賦值給一個變量,並使用它來套用所需的樣式。 最後,使用AddConditionalFormatting方法,同時提供建立的規則和要套用該規則的儲存格範圍。 這種方法類似於您以程式設計方式管理工作表或使用其他 Excel 功能的方式。

有哪些比較運算子可用?

IronXL 支援一套全面的比較運算符,讓您可以建立複雜的條件格式規則。 這些運算符可以無縫地處理數值、日期,甚至在適當情況下還可以處理文字比較。 可用的規則有:

  • NoComparison :預設值,用於在不進行比較的情況下套用格式化。
    -介於:突出顯示特定範圍內的值
  • NotBetween :高亮顯示指定範圍以外的值
    -相等:與精確值匹配
  • NotEqual :排除特定值
    -大於:突出顯示高於閾值的值
  • LessThan :突出顯示低於閾值的值
    -大於等於:包含閾值
    -小於等於:包含閾值

這些運算符可以與各種資料類型結合使用,在分析從 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");
$vbLabelText   $csharpLabel

PatternFormatting屬性除了背景顏色之外,還提供了各種樣式選項。 您還可以修改圖案樣式、前景色和圖案填充,以創建更複雜的視覺指示器。 這種靈活性使您能夠創建與組織品牌相符的格式,或使特定的資料模式能夠立即被識別。

套用該格式後,效果如何?

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 讓存取和修改這些現有規則變得非常簡單。

若要擷取條件格式規則,請使用GetConditionalFormattingAt方法。 傳回的規則物件可能包含多個規則; 使用GetRule方法存取特定規則。 檢索到的規則的大多數屬性都無法修改,但您可以透過PatternFormatting屬性調整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");
$vbLabelText   $csharpLabel

當您需要在更新電子表格的視覺主題的同時保留條件格式規則中嵌入的業務邏輯時,這種方法特別有用。

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

處理複雜的電子表格時,您可能會遇到對相同範圍或重疊範圍套用多個條件格式規則的情況。 GetConditionalFormattingAt方法傳回一個可以包含多個規則的集合。 您可以使用標準集合方法來遍歷這些規則,或使用GetRule(index)透過索引存取特定規則。 當處理來自不同來源且格式要求各異的資料時,此功能尤其有用。

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

如何移除條件格式?

有些情況下,你需要完全移除條件格式規則。 在準備匯出資料、簡化電子表格維護或格式規則不再與您當前的資料分析需求相關時,這可能是必要的。

若要刪除條件格式規則,請使用RemoveConditionalFormatting方法。 將目標規則的索引傳遞給此方法。 此操作對目前工作簿實例是永久性的,但如果需要,您可以隨時重新載入原始文件。

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

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

-資料匯出匯出為不同格式時不支援格式化
-效能最佳化:複雜的規則可能會影響處理大型資料集時的效能。
規則衝突:多條重疊的規則會導致混亂或意外結果。
-簡化分析:準備無需格式化的資料以進行自動處理
-建立模板:創建可供他人使用的簡約模板

: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");
$vbLabelText   $csharpLabel

移除細胞後,細胞樣式會發生什麼變化?

刪除條件格式規則時,只會刪除條件格式-底層儲存格資料和任何直接格式都保持不變。 單元格將恢復到其基本格式,包括直接套用於單元格而不是透過條件規則套用的任何樣式。 如果儲存格直接套用了特定的字體、邊框或填滿顏色(而不是透過條件格式),則在刪除條件格式後,這些樣式仍然保留。

這種行為可確保資料完整性得到維護,同時讓您完全控制電子表格的視覺呈現方式。 對於更高級的格式設定需求,請查閱 IronXL 的綜合API 參考文檔,以了解所有可用的格式設定選項。

常見問題解答

如何在 C# 中為 Excel 單元格添加條件格式化?

IronXL 使在 C# 中添加條件格式化變得簡單。首先,使用 CreateConditionalFormattingRule 方法與您所需的比較運算符和值建立條件格式化規則。然後使用 AddConditionalFormatting 方法將其套用至儲存格範圍。例如: var rule = workSheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.LessThan, "8"); workSheet.ConditionalFormatting.AddConditionalFormatting("A1:A10", rule);

條件格式化規則有哪些比較運算符號可用?

IronXL 支援條件格式化規則的各種比較運算符號,包括 LessThan、GreaterThan、Equal、NotEqual 等。您可以在使用 CreateConditionalFormattingRule 方法建立規則時指定運算符號,讓您可以依據不同的條件來強調儲存格,例如值小於 8、大於 100 或等於特定文字。

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

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

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

IronXL.Excel 提供 GetConditionalFormattingAt 方法,可從 Excel 檔案中擷取既有的條件格式化規則。這可讓您檢查、修改或移除先前套用至特定儲存格範圍的規則,讓您輕鬆管理和更新現有試算表中的條件格式。

條件格式化對新的和現有的 Excel 檔案都有效嗎?

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

我可以程式化地移除條件格式化規則嗎?

IronXL 允許您以程式化的方式新增、擷取和移除條件格式化規則。這可讓您完全控制 Excel 檔案中的條件格式化管理,使您能夠根據應用程式的需求動態更新或清除格式化。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

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

準備好開始了嗎?
Nuget 下載 1,802,965 | 版本: 2025.12 剛剛發布