【问题标题】:How can fill I cells A1:A5 with a color using C#?如何使用 C# 用颜色填充 I 单元格 A1:A5?
【发布时间】:2017-03-20 18:58:49
【问题描述】:

我有以下代码:

Excel.Range chartRange;
chartRange = xlWorkSheet.get_Range("A3", "R3");

我想用一种颜色填充这个单元格范围。我已经尝试过:

System.Drawing.Color = "yellow"

但是它抛出了一个需要对象引用的异常。

如何修复我的代码以用颜色填充这些单元格?

【问题讨论】:

    标签: c# excel office-interop range


    【解决方案1】:

    试试这个:

    chartRange.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Yellow);
    

    【讨论】:

      【解决方案2】:

      上面显示的代码的问题是您不能将字符串值“Yellow”分配给System.Drawing.Color 类型。相反,标准颜色显示为只读属性,您可以通过Color 结构访问这些属性。完整列表在documentation 中给出。

      Excel 互操作使事情变得更加复杂,因为您需要将这些颜色值转换为 OLE 颜色。您可以使用ColorTranslator.ToOle method 执行此操作。

      因此,例如,您需要在原始代码中添加以下行:

      Excel.Range chartRange;
      chartRange = xlWorkSheet.get_Range("A3", "R3");
      chartRange.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Yellow);
      

      有关更多信息,另请咨询 MSDN 上的this how-to article

      【讨论】:

        【解决方案3】:

        您直接将颜色分配给 Excel 互操作无法理解的工作表变量。

        因此,您需要使用 colorTranslator.ToOle 方法将这些颜色值转换为 OLE 值,或者使用 Excel 着色方式。提供两种方式。

        xlWorkSheet.get_Range(xlWorkSheet.Cells[2, 2], xlWorkSheet.Cells[2, 4]).Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Green);
        

        其他

        xlWorkSheet.get_Range(xlWorkSheet.Cells[2, 3], xlWorkSheet.Cells[2, 3]).Interior.Color = Excel.XlRgbColor.rgbRed;
        

        这里xlWorksheet是对象excel Worksheet对象。

        get_Range 需要 2 个变量,一个是起始单元格,另一个是结束单元格。

        所以如果你指定两个值相同,那么只有一个单元格是彩色的。

        xlWorkSheet.cells[row, column] 用于指定单元格。

        System.Drawing.ColorTranslator.ToOle(SystemDrawing.Color.Green)用于定义OLE格式的颜色。

        Excel.XlRgbColor.rgbRed 是一种为单元格着色的 excel 方法 这种方法可以访问大量颜色,可以在这里找到list of colors

        【讨论】:

          猜你喜欢
          • 2015-08-09
          • 1970-01-01
          • 2018-04-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-05
          • 2021-12-28
          相关资源
          最近更新 更多