问题:
我正在使用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中使用十六进制颜色代码?如果是这样,我该怎么做?
答案 0 :(得分:99)
试试这个
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);
答案 1 :(得分:25)
这很好用。
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))
答案 2 :(得分:2)
您没有义务转换十六进制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);
答案 3 :(得分: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; worksheet.Row(4).Style.Fill.BackgroundColor.SetColor(Color.Orange);