web-dev-qa-db-fra.com

La couleur de la cellule change dans Excel avec C #

J'utilise une application Windows pour exporter une table de données vers Excel. Ça marche. Maintenant, je veux donner de la couleur pour un texte particulier dans la cellule. Comment vais-je faire cela?

59
Suryakavitha

Pour le texte:

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

Pour le fond de cellule

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

Remarque: Cela suppose que vous allez déclarer des constantes pour les index de ligne et de colonne nommés COLUMN_HEADING_ROW, FIRST_COL, et LAST_COL, et cela _xlSheet est le nom du ExcelSheet (en utilisant Microsoft.Interop.Excel)

D'abord, définissez la plage:

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

Ensuite, définissez la couleur d'arrière-plan de cette plage:

columnHeadingsRange.Interior.Color = XlRgbColor.rgbSkyBlue;

Enfin, définissez la couleur de la police:

columnHeadingsRange.Font.Color = XlRgbColor.rgbWhite;

Et voici le code combiné:

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;
9
B. Clay Shannon