EPPlus Expression Formatting

I am creating excel using EPPlus with conditional formatting. I use C # code to do conditional formatting, but it doesn't work.

Please check my code below and let me know where I am going wrong:

ExcelPackage pck = new ExcelPackage(); var ws = pck.Workbook.Worksheets.Add("Sample1"); var _formatRangeAddress = new ExcelAddress("H16:K31,H33:K44,H46:K57,H59:K69,H71:K73"); string _statement = "=AND(COUNTA(H16:H16)<2,COUNTA(H16:K16)>0)"; var _cond4 = ws.ConditionalFormatting.AddExpression(_formatRangeAddress); _cond4.Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; _cond4.Style.Fill.BackgroundColor.Color = Color.Green; _cond4.Formula = _statement; pck.SaveAs(Response.OutputStream); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment; filename=Sample1.xlsx"); 
+5
source share
2 answers

Please try the following:

 ExcelPackage pck = new ExcelPackage(); var ws = pck.Workbook.Worksheets.Add("Sample1"); var _formatRangeAddress = new ExcelAddress("H16:K31,H33:K44,H46:K57,H59:K69,H71:K73"); string _statement = "AND(COUNTA(H16:H16)<2,COUNTA(H16:K16)>0)"; var _cond4 = ws.ConditionalFormatting.AddExpression(_formatRangeAddress); _cond4.Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; _cond4.Style.Fill.BackgroundColor.Color = Color.Green; _cond4.Formula = _statement; pck.SaveAs(Response.OutputStream); Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment; filename=Sample1.xlsx"); 
0
source

Define the formula line without = at the beginning:

 string _statement = "AND(COUNTA(H16:H16)<2,COUNTA(H16:K16)>0)"; [...] _cond4.Formula = _statement; 

The solution is mentioned here: Conditional expression formatting using EPPlus

+6
source

Source: https://habr.com/ru/post/1201633/


All Articles