83 votes

Définir la couleur d'arrière-plan d'une cellule de feuille Excel en utilisant epplus c#

Le problème :

J'utilise EEPlus.

Je ne parviens pas à appliquer un code de couleur hexadécimal, par exemple. #B7DEE8 pour une cellule de ma feuille Excel.

J'ai obtenu le code suivant (qui fonctionne) :

ws.Cells["A1:B1"].Style.Fill.PatternType = ExcelFillStyle.Solid;
ws.Cells["A1:B1"].Style.Fill.BackgroundColor.SetColor(Color.Gray);

Mais j'ai besoin de quelque chose comme ce qui suit :

ws.Cells["A1:B1"].Style.Fill.BackgroundColor.SetColor("#B7DEE8");

Ma question est donc la suivante : est-il possible d'utiliser des codes de couleur hexagonaux avec EEPlus ? Si oui, comment puis-je le faire ?

134voto

Yograj Gupta Points 9666

Essayez ceci

Color colFromHex = System.Drawing.ColorTranslator.FromHtml("#B7DEE8");
ws.Cells["A1:B1"].Style.Fill.PatternType = ExcelFillStyle.Solid;
ws.Cells["A1:B1"].Style.Fill.BackgroundColor.SetColor(colFromHex);

26voto

Jhonny Nina Points 559

Cela fonctionne bien.

Dim objExcel As New ExcelPackage
Dim Sheet As ExcelWorksheet = objExcel.Workbook.Worksheets.Add("SheetName")
Sheet.Cells["A1"].Style.Fill.PatternType = Style.ExcelFillStyle.Solid
Sheet.Cells["A1"].Style.Fill.BackgroundColor.SetColor(Color.FromArgb(170, 170, 170))

5voto

BBBreiz Points 523

Vous n'êtes pas obligé de traduire une formule hexadécimale de couleur CSS : Vous pouvez simplement mettre "0X" en tête de ce nombre, ce qui en fait une expression entière :

    var couleur = System.Drawing.Color.FromArgb(OXB7DEF8);
    Sheet.Cells["A1"].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
    Sheet.Cells["A1"].Style.Fill.BackgroundColor.SetColor(couleur);

1voto

Cela a fonctionné pour moi.

//remplir la colonne A avec la couleur rouge de l'hexagone

worksheet.Column(1).Style.Fill.PatternType = ExcelFillStyle.Solid ; worksheet.Column(1).Style.Fill.BackgroundColor.SetColor(ColorTranslator.FromHtml("#FF0000"));`

//remplir la ligne 4 avec un fond orange rayé

worksheet.Row(4).Style.Fill.PatternType = ExcelFillStyle.DarkHorizontal ; worksheet.Row(4).Style.Fill.BackgroundColor.SetColor(Color.Orange) ;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X