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

문제 :

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



답변

이 시도

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


답변

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


답변

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

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


답변