Le problème:
J'utilise EEPlus.
Je suis coincé à appliquer un code de couleur hexadécimal, par exemple. #B7DEE8
, pour une cellule de ma feuille Excel.
J'ai le code (de travail) suivant:
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 faire cela?
Essaye ça
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);
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))
Vous n'êtes pas obligé de traduire une formule de couleur CSS hexadécimale: vous pouvez simplement mettre "0X" comme 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);