如何让 ClosedXML 在公式中使用条件格式?
How do you get ClosedXML to use conditional formatting with formulas?
根据 documentation,您可以使用以下语法向单元格添加条件格式:
.AddConditionalFormat().WhenEquals("=B1")
所以我尝试了这个:
cell.AddConditionalFormat().WhenEquals("=F5=0")
.Fill.SetBackgroundColor(XLColor.FromHtml("#f00"));
但是,每当我尝试这样做时,将电子表格加载到 Excel,并查看单元格的条件格式,它似乎已将其更改为简单的 'cell value equals' 类型,而不是一个公式类型。所以我看到了这个:
但我想看到的是:
我错过了什么!?
在 Google 中无果而终地挖掘了几个小时后,我放弃了,回到了基础。我最终注意到一个名为 WhenIsTrue()
的方法,它接受一个公式!
所以,如果其他人来这里寻找这个(这个问题似乎是 Google 中 'conditional formatting closedxml' 中排名第二的最佳答案),这就是答案。
cell.AddConditionalFormat().WhenIsTrue("=F5=0")
.Fill.SetBackgroundColor(XLColor.FromHtml("#f00"));
我能够像这样工作:
.AddConditionalFormat().WhenEquals("=$B1")
根据 documentation,您可以使用以下语法向单元格添加条件格式:
.AddConditionalFormat().WhenEquals("=B1")
所以我尝试了这个:
cell.AddConditionalFormat().WhenEquals("=F5=0")
.Fill.SetBackgroundColor(XLColor.FromHtml("#f00"));
但是,每当我尝试这样做时,将电子表格加载到 Excel,并查看单元格的条件格式,它似乎已将其更改为简单的 'cell value equals' 类型,而不是一个公式类型。所以我看到了这个:
但我想看到的是:
我错过了什么!?
在 Google 中无果而终地挖掘了几个小时后,我放弃了,回到了基础。我最终注意到一个名为 WhenIsTrue()
的方法,它接受一个公式!
所以,如果其他人来这里寻找这个(这个问题似乎是 Google 中 'conditional formatting closedxml' 中排名第二的最佳答案),这就是答案。
cell.AddConditionalFormat().WhenIsTrue("=F5=0")
.Fill.SetBackgroundColor(XLColor.FromHtml("#f00"));
我能够像这样工作:
.AddConditionalFormat().WhenEquals("=$B1")