从C#到Excel - ConditionalFormat

时间:2016-01-27 12:38:09

标签: c# excel closedxml

我有一个用C#创建的两个单元格,我得到了

workSheet.Cell("A1");
workSheet.Cell("B1");

我正在为这两个单元添加条件格式,如下所示:

第一种情况:

workSheet.Cell("A1").AddConditionalFormat().IconSet(XLIconSetStyle.ThreeTrafficLights2)
                    .AddValue(XLCFIconSetOperator.EqualOrGreaterThan, 0, XLCFContentType.Number)
                    .AddValue(XLCFIconSetOperator.EqualOrGreaterThan, 20, XLCFContentType.Number)
                    .AddValue(XLCFIconSetOperator.EqualOrGreaterThan, 40, XLCFContentType.Number);

第二个案例

workSheet.Cell("B1").AddConditionalFormat().IconSet(XLIconSetStyle.ThreeSigns)
                   .AddValue(XLCFIconSetOperator.EqualOrGreaterThan, 0, XLCFContentType.Number)
                   .AddValue(XLCFIconSetOperator.EqualOrGreaterThan, 75, XLCFContentType.Number)
                   .AddValue(XLCFIconSetOperator.EqualOrGreaterThan, 95, XLCFContentType.Number);

问题是XLCFIconSetOperator只有属性 Equal和EqualOrGreaterThan。

第一种情况我希望“更好”的标志用于较低的值,例如:

0-19 - green
20-39 - yellow
40 +  -  red

在第二种情况下,我想恢复:

0-19 - red
20-39 - yellow
40 +  -  red

在上面的第二种情况下工作没有任何问题。如果没有Less / EqualOrLess属性,我怎么能在第一种情况下解决它?

1 个答案:

答案 0 :(得分:0)

使用

....AddConditionalFormat().IconSet(XLIconSetStyle.ThreeTrafficLights2, true)....

第二个参数是bool reverseIconOrder