簡體   English   中英

EXCEL C# 中的條件格式

[英]EXCEL Conditional Formatting in C#

我有一個名為“First Price”的列(excel 列:AG)和一個名為“First Price Override”的列(excel 列:AH)和一個名為“First Price Override 2”的列(excel 列:AI)。

我需要在 C# 中編寫一些條件格式,以檢查 AH 或 AI 列中的值。 如果他們在此單元格中輸入了值,則 AG 列(與輸入的值相關聯的行 - 需要將字體樣式刪除線設置為 true)

我該怎么做呢?

        var orfirstpricerange1 = Worksheet.Range["AH:AH"];
        var orfirstpricerange2 = Worksheet.Range["AI:AI"];
        var firstpricerange = Worksheet.Range["AG:AG"];

firstpricerange.Font.Strikethrough = true;

我已經完成了上述操作,但不知道如何將它們組合在一起以使用條件格式。

    //firstpricerange.Font.Strikethrough = true;

上面會將整個列的格式設置為“刪除線”。 我評論它是因為你不想讓每個單元格都被刪除。

    Excel.FormatCondition format = (Excel.FormatCondition)(Worksheet.get_Range("AG:AG",
        Type.Missing).FormatConditions.Add(Excel.XlFormatConditionType.xlExpression, Excel.XlFormatConditionOperator.xlEqual,
        "=AH1=AI1", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing));
    format.Font.Strikethrough = true;

“Excel”是指using Excel = Microsoft.Office.Interop.Excel;

當前,當 AH 中的值等於 AI 中的值時,列 AG 獲得刪除線。

  Microsoft.Office.Interop.Excel.FormatCondition format = (Microsoft.Office.Interop.Excel.FormatCondition)(uiWorksheet.get_Range("AG:AG",
  Type.Missing).FormatConditions.Add(Microsoft.Office.Interop.Excel.XlFormatConditionType.xlExpression, Microsoft.Office.Interop.Excel.XlFormatConditionOperator.xlNotEqual,
  "=AH1<>AI1", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing));
        format.Font.Strikethrough = true;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM