Das Problem:
Ich benutze EEPlus.
Ich kann keinen Hex-Farbcode anwenden, z. B. #B7DEE8
für eine Zelle in meiner Excel-Tabelle.
Ich habe den folgenden (Arbeits-) Code erhalten:
ws.Cells["A1:B1"].Style.Fill.PatternType = ExcelFillStyle.Solid;
ws.Cells["A1:B1"].Style.Fill.BackgroundColor.SetColor(Color.Gray);
Aber ich brauche so etwas wie das Folgende:
ws.Cells["A1:B1"].Style.Fill.BackgroundColor.SetColor("#B7DEE8");
Meine Frage ist also: Ist es möglich, Hex-Farbcodes mit EEPlus zu verwenden? Wenn ja, wie kann ich das machen?
System.Drawing.ColorTranslator.FromHtml
ist wirklich das, was jeder brauchen würde.Das funktioniert gut.
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))
quelle
Sie sind nicht verpflichtet, eine hexadezimale CSS-Farbformel zu übersetzen: Sie können einfach "0X" als Überschrift dieser Zahl eingeben, wodurch es sich um einen ganzzahligen Ausdruck handelt:
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);
quelle
Das hat bei mir funktioniert.
// fülle Spalte A mit roter Farbe aus hex
Arbeitsblatt.Spalte (1) .Style.Fill.PatternType = ExcelFillStyle.Solid; Arbeitsblatt.Spalte (1) .Style.Fill.BackgroundColor.SetColor (ColorTranslator.FromHtml ("# FF0000")); `
// fülle Zeile 4 mit gestreiftem orangefarbenem Hintergrund
Arbeitsblatt.Row (4) .Style.Fill.PatternType = ExcelFillStyle.DarkHorizontal; Arbeitsblatt.Row (4) .Style.Fill.BackgroundColor.SetColor (Color.Orange);
quelle