我使用以下引用将数据插入Excel。根据下面的代码,我想设置单元格颜色,其中也将包含一些数据(如分数(
using ClosedXML.Excel.XLWorkbook;
XLWorkbook workbook;
workbook = new XLWorkbook(System.Web.Hosting.HostingEnvironment.MapPath("~/Template.xlsx"));
var worksheet = workbook.Worksheets.Worksheet(1);
foreach(var item in output)
{
var cellname = ...... // some codes to get cell name For exampple : it gets A5
worksheet.Cell(cellname).SetValue(item.Score);
// Now I need to set color for cell A5 (ie cellname) based on some condition
// item will also contain parameter Color which will have color name like below
if(item.Color == "Red")
worksheet.Cell(cellname).SetColor(Red); // I need proper code to be written in this line
else if (item.Color == "Green")
worksheet.Cell(cellname).SetColor(Green); //
// ............ some other codes .......
}
我使用的是ClosedXML,所以我需要能够使用此引用的代码。还有,项目。颜色是从DB收到的,所以它的值可以是红色、绿色或蓝色之间的任何一个,所以我需要检查项目。Color值,并相应地设置单元格颜色。
我想你能做的最好的事情就是在Excel文件本身中添加条件格式。这样,Excel将应用颜色,即使在生成文件后值发生变化时也会应用颜色。这在文件的这一部分进行了描述:
var workbook = new XLWorkbook();
var ws = workbook.AddWorksheet("Sheet1");
ws.FirstCell().SetValue(1)
.CellBelow().SetValue(1)
.CellBelow().SetValue(2)
.CellBelow().SetValue(3)
.CellBelow().SetValue(4);
ws.RangeUsed().AddConditionalFormat().WhenBetween(2, 3)
.Fill.SetBackgroundColor(XLColor.Red);
只需设置文本或填充颜色,同样,您可以查看填充颜色或字体的文档:
var workbook = new XLWorkbook();
var ws = workbook.Worksheets.Add("Style Fill");
var co = 2;
var ro = 1;
ws.Cell(++ro, co + 1).Value = "BackgroundColor = Red";
ws.Cell(ro, co).Style.Fill.BackgroundColor = XLColor.Red;
ws.Cell(++ro, co + 1).Value = "PatternType = DarkTrellis; PatternColor = Orange; PatternBackgroundColor = Blue";
ws.Cell(ro, co).Style.Fill.PatternType = XLFillPatternValues.DarkTrellis;
ws.Cell(ro, co).Style.Fill.PatternColor = XLColor.Orange;
ws.Cell(ro, co).Style.Fill.PatternBackgroundColor = XLColor.Blue;
workbook.SaveAs(Styles_Fill);
总的来说,这些文档看起来确实相当全面和有用。