背景单元取决于条件

时间:2017-10-13 05:20:58

标签: c# asp.net excel

我有代码用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”值的人

enter image description here

0 个答案:

没有答案