我需要使用Epplus(最新版本4.1.0)基于日期值设置条件格式。
我设定了范围
var rng= new ExcelAddress(<startingRow>, <startingcolumn>,<endingRow>, <endingColumn>);
范围内的单元格被格式化为日期。我需要对日期小于或等于
的日期应用条件格式我能做到
var format1 = ws.ConditionalFormatting.AddToday(rng);
format1.Style.Fill.BackgroundColor.Color = Color.LightGreen;
以及与AddLastWeek和AddLast7Days类似的格式。
但这不是一个完整的解决方案,其他预定义的Excel日期条件也无济于事。
我需要
var format1 = ws.ConditionalFormatting.AddLessThan(rng).Formula;
format1.Formula = ???
我试图在公式中放入几个包含格式化日期的字符串,但它们会被忽略(没有错误,也没有格式化)。 在Excel中,我可以在管理条件格式表单中看到它们。 我发现如果我做了
format1.Formula = "A1"
和单元格A1包含&#34;今天&#34;格式化为日期工作,但我更喜欢不涉及虚拟单元格的解决方案,因为稍后我将需要更多标准。
你能建议我解决这个问题的正确方法吗?
答案 0 :(得分:1)
由于EPPlus没有内置功能,所以必须自己进行日期转换:
var ltecf = rng.ConditionalFormatting.AddLessThanOrEqual();
ltecf.Formula = DateTime.Now.Date.ToOADate().ToString(CultureInfo.InvariantCulture);
ltecf.Style.Fill.BackgroundColor.Color = Color.LightGreen;