2010-03-16 3 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 orders :( – Yola

+12

Вы можете избежать беспорядка 'System.Drawing.ColorTranslator', используя вместо этого' Excel.XlRgbColor.rgbRed'. – kmote

+0

Как я могу сортировать по цвету ячеек? – Si8

8

Примечание: Это предполагает, что вы будете объявлять константы для строк и столбцов индексов имени COLUMN_HEADING_ROW, FIRST_COL и LAST_COL, и что _xlSheet является наименование ExcelSheet (с использованием 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; 
Смежные вопросы