我正在使用开源EPPlus
库,它允许您读取Excel等电子表格文件。现在,我有一个Excel文件,但我想在获取单元格的值之前检查单元格的Background Color
。但是,我不知道要使用enum
。以下是我的示例代码:
using (var package = new ExcelPackage(excelFile))
{
ExcelWorkbook workbook = package.Workbook;
ExcelWorksheet currentWorksheet = workbook.Worksheets.First();
ExcelRange theCell = currentWorksheet.Cells[8, 1];
if (theCell.Style.Fill.BackgroundColor == whatShouldBeTheEnumHere)
{
String getValue = theCell.Value.ToString();
}
}
有什么建议吗?
答案 0 :(得分:0)
我得到了自己问题的答案:-)我发现BackgroundColor
有一个RGB
属性,这就是我用来获取我想要测试的颜色值。这是代码
using (var package = new ExcelPackage(excelFile))
{
ExcelWorkbook workbook = package.Workbook;
ExcelWorksheet currentWorksheet = workbook.Worksheets.First();
ExcelRange theCell = currentWorksheet.Cells[8, 1];
if (theCell.Style.Fill.BackgroundColor.Rgb == Color.Yellow.A.ToString("X2") + Color.Yellow.R.ToString("X2") + Color.Yellow.G.ToString("X2") + Color.Yellow.B.ToString("X2"))
{
String getValue = theCell.Value.ToString();
}
}
当然我可以使用函数返回HexValue,如
if (theCell.Style.Fill.BackgroundColor.Rgb == ColorHexValue(Color.Yellow))
{
String getValue = theCell.Value.ToString();
}
并function
返回十六进制值:
private String ColorHexValue(System.Drawing.Color C)
{
return C.A.ToString("X2") + C.R.ToString("X2") + C.G.ToString("X2") + C.B.ToString("X2");
}