epplus C #을 사용하여 Excel 시트 셀의 사용자 지정 BackgroundColor 설정


81

문제 :

EEPlus를 사용하고 있습니다.

예를 들어 #B7DEE8Excel 시트의 셀에 16 진수 색상 코드를 적용하는 데 어려움을 겪고 있습니다 .

다음 (작동하는) 코드가 있습니다.

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에서 16 진수 색상 코드를 사용할 수 있습니까? 그렇다면 어떻게해야합니까?

답변:


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

16 진수 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

이것은 나를 위해 일했습니다.

// 16 진수에서 빨간색 단색으로 A 열 채우기

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

// 줄무늬 주황색 배경으로 행 4 채우기

workstation.Row (4) .Style.Fill.PatternType = ExcelFillStyle.DarkHorizontal; 워크 시트 .Row (4) .Style.Fill.BackgroundColor.SetColor (Color.Orange);

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.