我有代码用c#表示excel单元格的背景:
xlAppToExport = new Application();
xlAppToExport.Workbooks.Add("");
xlWorkSheetToExport = (Worksheet)xlAppToExport.Sheets[1];
if (Int32.Parse(task.progress) < 100 && currentDate > task.duedate)
{
xlWorkSheetToExport.Range["F2", "F5000"].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
}
else
{
xlWorkSheetToExport.Cells[2, 6] = task.StatusDescripcion;
}
正如你所看到的,我希望背景颜色根据条件为我的细胞着色。问题是,我的所有单元都获得了背景,因为我使用了Range [“F2”,“F5000”]。
我怎样才能在条件为真的情况下仅对task.StatusDescripcion
列的单元格进行着色?此致
更新
我将代码更改为
xlAppToExport = new Application();
xlAppToExport.Workbooks.Add("");
xlWorkSheetToExport = (Worksheet)xlAppToExport.Sheets[1];
if (Int32.Parse(task.progress) < 100 && currentDate > task.duedate)
{
xlWorkSheetToExport.Cells[fila, 6].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
/* I added this to identified what columns get validation,
so all columns who have value "Retrasado" equals to validation is true*/
xlWorkSheetToExport.Cells[fila, 6] = "Retrasado";
}
else
{
xlWorkSheetToExport.Cells[2, 6] = task.StatusDescripcion;
}
所以现在你可以在下一个图片中看到值正确地更改为“Retrasado”但是bakgrond列获得了一个额外的规则,它绘制了一个和下一个没有,依此类推,而是绘制所有具有“Retrasado”值的人