Legen Sie mit epplus c # die benutzerdefinierte Hintergrundfarbe einer Excel-Blattzelle fest


78

Das Problem:

Ich benutze EEPlus.

Ich kann keinen Hex-Farbcode anwenden, z. B. #B7DEE8fü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?

Antworten:


127

Versuche dies

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);

Ich benutze Interop.Excel, also musste ich range.Interior.Color verwenden, aber die Farbe aus der HTML-Funktion war genau das, was ich brauchte.
StevenWhite

System.Drawing.ColorTranslator.FromHtmlist wirklich das, was jeder brauchen würde.
H Aßdøµ

26

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))

5

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);

0

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);

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.