2010-03-16 119 views

Respuesta

104

Para el texto:

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

Para fondo de la celda

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

Eso es bueno, solo Interior borra b orders :( – Yola

+12

Puede evitar el desorden de 'System.Drawing.ColorTranslator' usando en su lugar' Excel.XlRgbColor.rgbRed'. – kmote

+0

¿Cómo puedo ordenar por color de celda? – Si8

8

Nota: Esto supone que va a declarar constantes de fila y columna índices nombrados COLUMN_HEADING_ROW, FIRST_COL y LAST_COL, y que _xlSheet es el nombre del ExcelSheet (usando Microsoft.Interop.Excel)

En primer lugar, definir el rango:

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

A continuación, establezca el color de fondo de ese rango:

columnHeadingsRange.Interior.Color = XlRgbColor.rgbSkyBlue; 

Por último, establecer el color de la fuente:

columnHeadingsRange.Font.Color = XlRgbColor.rgbWhite; 

Y aquí está el código combinado :

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; 
Cuestiones relacionadas