如何使用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方法
这种方法可以访问大量的颜色,可以在这里找到