Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据单元格更改单元格背景颜色';使用C#EPPlus在excel中创建文本_C#_Excel_Epplus_Epplus 4 - Fatal编程技术网

根据单元格更改单元格背景颜色';使用C#EPPlus在excel中创建文本

根据单元格更改单元格背景颜色';使用C#EPPlus在excel中创建文本,c#,excel,epplus,epplus-4,C#,Excel,Epplus,Epplus 4,我正在尝试根据单元格的文本内容更改其背景颜色。例如:对于text=“In progress”应为黄色,对于text=“Completed”应为绿色。没有得到任何线索继续使用C#进行自动化 参考以下链接,但没有运气 单元格中正在进行的文本的颜色应更改为黄色以下是几种不同的实现方法 对于公式表达式,您需要使用格式C2=“In Progress”,其中C2是条件格式应用范围内的顶部单元格-它仍将以正确的方式应用于该范围内的其他单元格 var formatExpressionInProgress =

我正在尝试根据单元格的文本内容更改其背景颜色。例如:对于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
来使用相等类型表达式,然后您只需在公式中使用
“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;

无论使用EPPlus还是Excel,公式都是相同的。
($C3=进行中)
在Excel中是否有效?我怀疑没有,
正在进行中
没有被引用。您可以使用Excel来测试公式。您还可以在Excel中创建一个工作表,该工作表按照您想要的方式工作,然后使用Epplus本身或其他工具检查它的工作方式。您还可以将该工作表用作模板,而不是在代码中添加公式
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;