使用C#在Excel中更改单元格颜色

Sur*_*tha 64 c# excel ms-office

我正在使用Windows应用程序将数据表导出到Excel.它正在发挥作用.现在我想为单元格中的特定文本提供一些颜色.我该怎么办?

Ase*_*tam 129

对于文字:

[RangeObject].Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
Run Code Online (Sandbox Code Playgroud)

对于细胞背景

[RangeObject].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
Run Code Online (Sandbox Code Playgroud)

  • 您可以使用`Excel.XlRgbColor.rgbRed`来避免`System.Drawing.ColorTranslator`的混乱. (17认同)

B. *_*non 12

注:这是假设你将声明常量命名的行和列的索引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]];
Run Code Online (Sandbox Code Playgroud)

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

columnHeadingsRange.Interior.Color = XlRgbColor.rgbSkyBlue;
Run Code Online (Sandbox Code Playgroud)

最后,设置字体颜色:

columnHeadingsRange.Font.Color = XlRgbColor.rgbWhite;
Run Code Online (Sandbox Code Playgroud)

这里的代码组合在一起:

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;
Run Code Online (Sandbox Code Playgroud)