2010-03-16 27 views

risposta

104

Per il testo:

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

Per sfondo delle celle

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

Questo è buono, solo Interni cancella b ordini :( – Yola

+12

Puoi evitare la confusione di 'System.Drawing.ColorTranslator' usando' Excel.XlRgbColor.rgbRed'. – kmote

+0

Come posso ordinare in base al colore della cella? – Si8

8

Nota: Questo presuppone che si dichiarano le costanti per riga e di colonna indici denominati COLUMN_HEADING_ROW, FIRST_COL e LAST_COL, e che _xlSheet è il nome dello ExcelSheet (utilizzando Microsoft.Interop.Excel)

In primo luogo, definire la gamma:

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

Quindi, impostare il colore di sfondo di quella gamma:

columnHeadingsRange.Interior.Color = XlRgbColor.rgbSkyBlue; 

Infine, impostare il colore del carattere:

columnHeadingsRange.Font.Color = XlRgbColor.rgbWhite; 

Ed ecco il codice combinato :

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; 
Problemi correlati