我正在尝试使用EPPLUS将条件格式应用于Excel,以便如果值是负数,则单元格区域将用红色填充。

我尝试这段代码,如果该单元格的值大于下一个单元格的值,则该单元格将用红色填充

    ExcelAddress _formatRangeAddress = new ExcelAddress("J2:J"+(listaMargenes.Count+2));
   string _statement="IF(OFFSET(J3,0,-1)-J3>0,1,0)";
   var _cond4 = hoja.ConditionalFormatting.AddExpression(_formatRangeAddress);
  _cond4.Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
  _cond4.Style.Fill.BackgroundColor.Color = System.Drawing.Color.Red;
  _cond4.Formula = _statement;


这工作正常,但如果我更改:

IF(OFFSET(J3,0,-1)-J3>0,1,0)


这样:

if(J3<0)


打开Excel时显示损坏的数据,则不起作用。

任何想法如何写正确的方法涂红色的负值的单元格?

最佳答案

Excel中的IF语句不再允许可选的value_if_true部分(我相信在旧版本中允许这样做):MS IF Documentation

因此,将其更改为:

string _statement = "if(B3<0, 1)";

关于c# - 如果(cell.value <0)填充为红色,则条件格式为excel epplus,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33035280/

10-17 00:59