2017-08-09 62 views
0

我使用Epplus庫條件格式用下面的代碼添加到現有的Excel電子表格:因爲當我打開如何與EPPlus添加條件格式爲Excel 2010

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

嘗試從Formula中刪除=標誌。

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

通過添加=這將導致在該式中被示出爲==IF(EXACT...這是無效的。條件格式的公式不會以=開頭的符號存儲。如果這仍然適用於Excel 2016,也許它接受/忽略額外的=

+0

這與Excel 2010和2016完美兼容。非常感謝。 –