Встановіть користувальницький Color Background для комірки аркуша Excel за допомогою epplus c #


81

Проблема:

Я використовую 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? Якщо так, то як я можу це зробити?

Відповіді:


131

Спробуйте це

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

Я використовую Interop.Excel, тому мені довелося використовувати range.Interior.Color, але мені потрібен колір із функції HTML.
StevenWhite

System.Drawing.ColorTranslator.FromHtmlнасправді потрібен кожному.
H Aßdøµ

26

Це працює добре.

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

Ви не зобов'язані перекладати шістнадцяткову формулу кольору 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);

0

Це спрацювало для мене.

// заповнити стовпець A суцільно-червоним кольором із шістнадцяткового тексту

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

// рядок 4 заповнити смугастим помаранчевим фоном

Worksheet.Row (4) .Style.Fill.PatternType = ExcelFillStyle.DarkHorizontal; аркуш.Row (4) .Style.Fill.BackgroundColor.SetColor (Color.Orange);

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.