使用Epplus的条件格式更改单元格颜色

本文关键字:单元格 颜色 格式 Epplus 条件 使用 | 更新日期: 2023-09-27 17:53:03

我使用EPPlus在Excel中创建一个电子表格,我的目标和颜色单元格根据列f中存在的值

条件格式

//Orange
var conditionalFormattingRule01 = worksheet.ConditionalFormatting.AddExpression(worksheet.Cells[inital_line, 1, last_line, final_column]);
conditionalFormattingRule01.Formula = "($F9<=15)";
conditionalFormattingRule01.Style.Fill.PatternType = ExcelFillStyle.Solid;
conditionalFormattingRule01.Style.Fill.BackgroundColor.Color = Color.FromArgb(255, 192, 0);
//Yellow
var conditionalFormattingRule02 = worksheet.ConditionalFormatting.AddExpression(worksheet.Cells[inital_line, 1, last_line, final_column]);
conditionalFormattingRule02.Formula = "AND($F9>15;$F9<=30)";
conditionalFormattingRule02.Style.Fill.PatternType = ExcelFillStyle.Solid;
conditionalFormattingRule02.Style.Fill.BackgroundColor.Color = Color.FromArgb(255, 239, 153);
//Blue
var conditionalFormattingRule03 = worksheet.ConditionalFormatting.AddExpression(worksheet.Cells[inital_line, 1, last_line, final_column]);
conditionalFormattingRule03.Formula = "AND($F9>30;$F9<=60)";
conditionalFormattingRule03.Style.Fill.PatternType = ExcelFillStyle.Solid;
conditionalFormattingRule03.Style.Fill.BackgroundColor.Color = Color.FromArgb(155, 194, 230);
//Green
var conditionalFormattingRule04 = worksheet.ConditionalFormatting.AddExpression(worksheet.Cells[inital_line, 1, last_line, final_column]);
conditionalFormattingRule04.Formula = "($F9>60)";
conditionalFormattingRule04.Style.Fill.PatternType = ExcelFillStyle.Solid;
conditionalFormattingRule04.Style.Fill.BackgroundColor.Color = Color.FromArgb(182, 215, 168);
//Red
var conditionalFormattingRule05 = worksheet.ConditionalFormatting.AddExpression(worksheet.Cells[inital_line, 1, last_line, final_column]);
conditionalFormattingRule05.Formula = "($F9='"Overdue'")";
conditionalFormattingRule05.Style.Fill.PatternType = ExcelFillStyle.Solid;
conditionalFormattingRule05.Style.Fill.BackgroundColor.Color = Color.FromArgb(234, 153, 153);

打开文件时提示:

我们发现'FileName.xlsx'中的一些内容有问题。你需要我们吗?尽我们所能地恢复?如果你相信消息来源的话,单击"是"。

我不明白我的公式出了什么错

使用Epplus的条件格式更改单元格颜色

在AND公式中用逗号替换分号,例如:

conditionalFormattingRule02.Formula = "AND($F9>15,$F9<=30)";
...
conditionalFormattingRule03.Formula = "AND($F9>30,$F9<=60)";