EPPlus条件格式化整个列的string长度

我正在使用EPPlus生成具有validation和条件格式的Excel文档。 我想检查单元格中文本的长度,如果大于指定的长度,用一个颜色填充它。 我希望这是为整个专栏做的。

var address = new ExcelAddress("$A:$A"); var condition = workSheet.ConditionalFormatting.AddExpression(address); condition.Formula = "=IF(LEN(A1)>25, TRUE, FALSE)"; condition.Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; condition.Style.Fill.BackgroundColor.Color = Color.Green; 

当我打开生成的Excel电子表格时,它显示一个错误,要求恢复数据。

当我testing这个

 using (var app = new ExcelPackage()) { var workSheet = app.Workbook.Worksheets.Add("asdf"); var address = new ExcelAddress("$A:$A"); var condition = workSheet.ConditionalFormatting.AddExpression(address); workSheet.Cells["A1"].Value = "asdfasdfasdfasdfasdfasfdasd"; condition.Formula = "=IF(LEN(A1)>25, TRUE, FALSE)"; condition.Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; condition.Style.Fill.BackgroundColor.Color = System.Drawing.Color.Green; var destinationPath = @"../../GeneratedExcelFile.xlsx"; File.WriteAllBytes(destinationPath, app.GetAsByteArray()); } 

它不会导致任何错误,所以我认为这个问题是由你提供的代码以外的东西造成的