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

我正在使用 Windows 应用程序将数据表导出到 Excel。起作用了。现在我要为单元格中的特定文本赋予一些颜色。我该怎么做?

178188 次浏览

文本:

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

手机背景

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

注意: 这假设您将为名为 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;

对于 C # ,使用 Workbook 类(实现 Workbook Interface)可以提供许多着色工具。我使用 Workbook (下面例子中的 templateWorkbook)设置颜色如下:

var copyFormating = templateWorkbook.Worksheets[sheetName].Cells[9,0].GetStyle();
copyFormating.ForegroundColor = System.Drawing.Color.Gold;
copyFormating.Font.Color = System.Drawing.Color.Black;
copyFormating.HorizontalAlignment = TextAlignmentType.Center;