2017-08-09 9 views
0

:私が開いたとき以来2010私は次のコードで既存のExcelスプレッドシートに条件付き書式を追加するEpplusライブラリを使用しています

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のスプレッドシートに適切な動作が表示されます。

エクセル2010と同じスプレッドシートを開くには、私の質問

、私はこのメッセージが表示されます。

Excelは 'Spreadsheet.xlsx' で読めないコンテンツを発見しました。このワークブックの内容を回復しますか? Excelはで求められます:

削除機能:内容を回復

/xl/worksheets/sheet1.xml一部から条件付き書式を

これは今まで誰にも起こりましたか。私はEPPlusライブラリがExcel 2007 +でうまく動作するはずだと思います

誰にも回避策はありますか?

答えて

1

Formulaから=記号を削除してみます。それは無効である==IF(EXACT...として図示される式をもたらす=を添加することにより

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

。条件付き書式設定の式は、先頭に=という記号が格納されていません。これがまだExcel 2016で動作している場合は、余分に=を受け入れるか無視しますか?

+0

これはExcel 2010と2016の両方で完全に機能します。ありがとうございました。 –

関連する問題