Установите пользовательский BackgroundColor ячейки листа Excel с помощью epplus c#


проблема:

Я использую EEPlus.

Я застрял в применении шестнадцатеричного цветового кода, например #B7DEE8, для ячейки в моем листе Excel.

я получил следующий (рабочий) код:

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

но мне нужно что-то вроде следующего:

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

Итак, мой вопрос: Можно ли использовать шестнадцатеричные цветовые коды с EEPlus? Если да, то как я могу это сделать?

3 57

3 ответа:

попробуй такое

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

Это хорошо работает.

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

вы не обязаны переводить шестнадцатеричную формулу цвета CSS: вы можете просто поставить" 0X " в качестве заголовка этого числа, что делает его целочисленным выражением:

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