2015-10-09 2 views
2

Я пытаюсь применить условный формат к Excel с помощью EPPLUS, чтобы диапазон ячеек был заполнен красным цветом, если значение отрицательное.coditional format excel epplus if (cell.value <0) fill red

Стараюсь этот код, если значение ячейки больше, что значение следующей ячейки, то ячейка заполняется красным

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) 

не Works, при открытии Excel говорит, что есть поврежденные данные.

любая идея о том, как написать правильный способ, положить в красный цвет ячейки с отрицательным значением ???

ответ

1

IF заявление в первенствует не позволяет необязательного value_if_true части больше (я верю в более старых версиях это делали): MS IF Documentation

Так изменить его на что-то вроде:

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

Спасибо, теперь работает идеально – Ion

Смежные вопросы