【问题标题】:How to add conditional formatting with EPPlus for Excel 2010如何使用 EPPlus for Excel 2010 添加条件格式
【发布时间】:2017-08-09 13:45:11
【问题描述】:

我正在使用 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+ 上正常工作

有人知道有什么解决方法吗?

【问题讨论】:

    标签: c# excel epplus conditional-formatting


    【解决方案1】:

    尝试从Formula 中删除= 符号。

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

    添加= 会导致公式显示为无效的==IF(EXACT...。条件格式的公式不以= 符号开头。如果这在 Excel 2016 中仍然有效,也许它接受/忽略额外的 =

    【讨论】:

    • 这适用于 Excel 2010 和 2016。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-02
    • 2015-04-26
    相关资源
    最近更新 更多