Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C#用颜色填充I单元格A1:A5?_C#_Excel_Office Interop_Range - Fatal编程技术网

如何使用C#用颜色填充I单元格A1:A5?

如何使用C#用颜色填充I单元格A1:A5?,c#,excel,office-interop,range,C#,Excel,Office Interop,Range,我有以下代码: Excel.Range chartRange; chartRange = xlWorkSheet.get_Range("A3", "R3"); 我想用颜色填充这一区域的单元格。我已经尝试过: System.Drawing.Color = "yellow" 但它抛出了一个异常,即需要对象引用 如何修复代码以使用颜色填充这些单元格?尝试以下操作: chartRange.Interior.Color = System.Drawing.ColorTranslator.ToOle(Sy

我有以下代码:

Excel.Range chartRange;
chartRange = xlWorkSheet.get_Range("A3", "R3");
我想用颜色填充这一区域的单元格。我已经尝试过:

System.Drawing.Color = "yellow"
但它抛出了一个异常,即需要对象引用

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

尝试以下操作:

chartRange.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Yellow);
试试这个:

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

上面显示的代码的问题是无法将字符串值“黄色”指定给
System.Drawing.Color
类型。相反,标准颜色作为只读属性公开,您可以通过
Color
结构访问这些属性。完整的列表在中给出

Excel互操作使事情变得更复杂,因为您需要将这些颜色值转换为OLE颜色。您可以使用

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

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

有关更多信息,请参阅MSDN。

上面显示的代码的问题是无法将字符串值“黄色”指定给
System.Drawing.Color
类型。相反,标准颜色作为只读属性公开,您可以通过
Color
结构访问这些属性。完整的列表在中给出

Excel互操作使事情变得更复杂,因为您需要将这些颜色值转换为OLE颜色。您可以使用

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

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

有关详细信息,请参阅MSDN。

您直接将颜色指定给Excel interop无法理解的工作表变量

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

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

此处xlWorksheet是excel工作表对象

get_Range接受两个变量,一个是起始单元格,另一个是结束单元格

因此,如果指定两个值相同,则只有一个单元格是彩色的

xlWorkSheet。单元格[行,列]用于指定单元格

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

Excel.XlRgbColor.rgbreed是一种为细胞着色的Excel方法
此方法提供了对大量颜色的访问,这些颜色可以在此处找到

您直接将颜色指定给Excel interop无法理解的工作表变量

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

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

此处xlWorksheet是excel工作表对象

get_Range接受两个变量,一个是起始单元格,另一个是结束单元格

因此,如果指定两个值相同,则只有一个单元格是彩色的

xlWorkSheet。单元格[行,列]用于指定单元格

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

Excel.XlRgbColor.rgbreed是一种为细胞着色的Excel方法 这种方法可以访问大量的颜色,可以在这里找到