如何使用EPPlus for Excel 2010添加条件格式

时间:2017-08-09 13:45:11

标签: c# excel epplus conditional-formatting

我正在使用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 +

有没有人知道任何解决方法?

1 个答案:

答案 0 :(得分:1)

尝试从=删除Formula符号。

conditionalFormatting.Formula = $"IF(EXACT(A1, \"\"), IF(EXACT(B1, \"\"), TRUE, FALSE), FALSE)";

添加=会导致公式显示为==IF(EXACT...无效。条件格式的公式不与起始=符号一起存储。如果这仍然适用于Excel 2016,可能它接受/忽略额外的=