2010-03-16 243 views

回答

104

对于文本:

[RangeObject].Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red); 

对于细胞背景

[RangeObject].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red); 
+0

这很好,只有内部擦除b命令:( – Yola 2015-03-19 08:54:58

+12

)您可以使用'Excel.XlRgbColor.rgbRed'来代替避免'System.Drawing.ColorTranslator'的混乱。 – kmote 2015-10-07 15:46:12

+0

如何按细胞颜色进行分类? – Si8 2016-12-19 16:08:38

8

注:这假定您将声明常量名为COLUMN_HEADING_ROWFIRST_COLLAST_COL行和列的索引,而_xlSheetExcelSheet的名称(使用Microsoft.Interop.Excel

首先,定义范围:

var columnHeadingsRange = _xlSheet.Range[ 
    _xlSheet.Cells[COLUMN_HEADING_ROW, FIRST_COL], 
    _xlSheet.Cells[COLUMN_HEADING_ROW, LAST_COL]]; 

然后,设置该范围的背景色:

columnHeadingsRange.Interior.Color = XlRgbColor.rgbSkyBlue; 

最后,设置字体颜色:

columnHeadingsRange.Font.Color = XlRgbColor.rgbWhite; 

而这里的代码合并:

var columnHeadingsRange = _xlSheet.Range[ 
    _xlSheet.Cells[COLUMN_HEADING_ROW, FIRST_COL], 
    _xlSheet.Cells[COLUMN_HEADING_ROW, LAST_COL]]; 

columnHeadingsRange.Interior.Color = XlRgbColor.rgbSkyBlue; 

columnHeadingsRange.Font.Color = XlRgbColor.rgbWhite;