Изменение цвета ячейки в Excel с помощью C # - PullRequest
58 голосов
/ 16 марта 2010

Я использую приложение Windows для экспорта таблицы данных в Excel. Работает. Теперь я хочу дать цвет для определенного текста в ячейке. Как мне это сделать?

Ответы [ 2 ]

122 голосов
/ 16 марта 2010

Для текста:

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

Для фона ячейки

[RangeObject].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
9 голосов
/ 15 ноября 2015

Примечание. Предполагается, что вы объявите константы для индексов строк и столбцов с именами 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;
...