我正在使用Epplus库将条件格式添加到现有的Excel电子表格中,其代码如下:
var conditionalFormatting = worksheet.Cells[address].ConditionalFormatting.AddExpression();
conditionalFormatting.Formula = $"=IF(EXACT(A1, \"\"), IF(EXACT(B1, \"\"), TRUE, FALSE), FALSE)";
conditionalFormatting.Style.Fill.BackgroundColor = errorColor;
此代码似乎工作正常,因为当我使用Excel 2016打开电子表格时,我可以看到相应的行为。
我的问题
在使用Excel 2010打开相同的电子表格时,我收到以下消息:
Excel在' Spreadsheet.xlsx'中找到了不可读的内容。是否要恢复此工作簿的内容?
恢复内容:Excel提示:
删除的功能:/xl/worksheets/sheet1.xml部分的条件格式
这是否曾经发生在其他人身上?我认为EPPlus库应该可以正常使用Excel 2007 +
有没有人知道任何解决方法?
答案 0 :(得分:1)
尝试从=
删除Formula
符号。
conditionalFormatting.Formula = $"IF(EXACT(A1, \"\"), IF(EXACT(B1, \"\"), TRUE, FALSE), FALSE)";
添加=
会导致公式显示为==IF(EXACT...
无效。条件格式的公式不与起始=
符号一起存储。如果这仍然适用于Excel 2016,可能它接受/忽略额外的=
?