使用 C# EPPlus 根据 excel 中单元格的文本更改单元格背景颜色
Change cell background color based on cell's text in excel using C# EPPlus
我正在尝试根据文本内容更改单元格的背景颜色。例如:对于 text = "In progress" 它应该是黄色,对于 text ="Completed" 它应该是绿色。没有得到任何使用 C# 进行自动化的线索。
参考了以下链接但没有成功
这里有几种不同的实现方式。
对于公式表达式,您需要使用格式 C2="In Progress"
,其中 C2
是条件格式适用范围内的顶部单元格 - 它仍将适用于范围内的其他单元格正确的范围。
var formatExpressionInProgress = worksheet.ConditionalFormatting.AddExpression(new ExcelAddress("C2:C5"));
formatExpressionInProgress.Formula = "C2=\"In Progress\"";
formatExpressionInProgress.Style.Fill.PatternType = ExcelFillStyle.Solid;
formatExpressionInProgress.Style.Fill.BackgroundColor.Color = Color.Yellow;
更直观地说,您可以通过使用 .AddEqual
而不是 AddExpression
来使用 Equal 类型表达式,然后您只需在公式中使用 "Completed"
来匹配条件应适用的位置。
var formatExpressionCompleted = worksheet.ConditionalFormatting.AddEqual(new ExcelAddress("C2:C5"));
formatExpressionCompleted.Formula = "\"Completed\"";
formatExpressionCompleted.Style.Fill.PatternType = ExcelFillStyle.Solid;
formatExpressionCompleted.Style.Fill.BackgroundColor.Color = Color.Green;
我正在尝试根据文本内容更改单元格的背景颜色。例如:对于 text = "In progress" 它应该是黄色,对于 text ="Completed" 它应该是绿色。没有得到任何使用 C# 进行自动化的线索。
参考了以下链接但没有成功
这里有几种不同的实现方式。
对于公式表达式,您需要使用格式 C2="In Progress"
,其中 C2
是条件格式适用范围内的顶部单元格 - 它仍将适用于范围内的其他单元格正确的范围。
var formatExpressionInProgress = worksheet.ConditionalFormatting.AddExpression(new ExcelAddress("C2:C5"));
formatExpressionInProgress.Formula = "C2=\"In Progress\"";
formatExpressionInProgress.Style.Fill.PatternType = ExcelFillStyle.Solid;
formatExpressionInProgress.Style.Fill.BackgroundColor.Color = Color.Yellow;
更直观地说,您可以通过使用 .AddEqual
而不是 AddExpression
来使用 Equal 类型表达式,然后您只需在公式中使用 "Completed"
来匹配条件应适用的位置。
var formatExpressionCompleted = worksheet.ConditionalFormatting.AddEqual(new ExcelAddress("C2:C5"));
formatExpressionCompleted.Formula = "\"Completed\"";
formatExpressionCompleted.Style.Fill.PatternType = ExcelFillStyle.Solid;
formatExpressionCompleted.Style.Fill.BackgroundColor.Color = Color.Green;