背景单元取决于条件
我有代码来颜色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; }
正如你所看到的,我希望背景颜色我的细胞取决于条件。 问题是,我所有的单元格都获得Background,因为我使用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得到了一个extrange规则,它画一个和下一个否,等等,而不是绘制所有谁有价值的“Retrasado”