更改行颜色

Change rows color

我有一个 excel 文件,我需要检查 B 列的某个范围(例如范围:1:3000),如果存在一个不同于“新”和空的值单元格,所以我需要将灰色的行颜色从 B 列更改为 O。像这样:

我如何在 C# 中执行此操作?如果有必要,我更喜欢 Microsoft.Interop.Excel 而不是其他人...... 我已经检查过类似的答案,最后我尝试了类似的方法,但没有任何反应......最简单的解决方案是什么?

using Excel=Microsoft.Office.Interop.Excel;
using System;
using Microsoft.Office.Interop.Excel;

    namespace RowsColorChange

{
    class Program
    {
        static void Main(string[] args)
        {
          
        Excel.Application xlApp;
        Excel.Workbook xlWorkBook;
        Excel.Worksheet xlWorkSheet;
        object misValue = System.Reflection.Missing.Value;

        xlApp = new Excel.Application();
        xlWorkBook = xlApp.Workbooks.Open("C:\Users\Something\Ge\Output\2020-06 1 - MR - Pronto - Copia.xlsm", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
        xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
        FormatCondition format = (FormatCondition)(xlWorkSheet.get_Range("B3:B2000",
            Type.Missing).FormatConditions.Add(XlFormatConditionType.xlExpression, XlFormatConditionOperator.xlEqual,
            "=$B3<>null","=$B3<>"+"new", Type.Missing, Type.Missing, Type.Missing, Type.Missing));
        format.Font.Bold = true;
        format.Font.Color = 0x000000FF;
        xlWorkBook.Close(true, misValue, misValue);
        xlApp.Quit();

        System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkSheet);
        System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkBook);
        System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);

使用条件格式。

  • Select B 通过 O 列 headers 到 select 所有列,或者如果您愿意, select B1:O3000(PS 一种快速的方法是单击公式栏左侧的名称框并输入 B1:O3000)。

  • Select Conditional Formatting | New Rule... 来自“主页”功能区上的“样式”组。

  • Select Use a formula to determine which cells to format 来自 Select a Rule Type 框。

  • Format values where this formula is true: 输入字段中,输入 =AND($B1<>"new",$B1<>"")

  • Select Format... 并在 Fill 选项卡上设置您要使用的填充和 select OK.

  • Select OK 再次关闭 New Formatting Rule 对话框。