1

合計式でExcelシートを作成しています。

ExcelPackage pck = new ExcelPackage("D:\ExcelTemplate.xlsx");
var ws = pck.Workbook.Worksheets["Sheet1"];
ws.Cells["A5"].Formula = "=SUM(A3:A4)"; 

しかし、結果のA5セルには「式が隣接セルエラーを省略しています」というエラーが表示されます(もちろん、A3とA4の合計もA5に表示されます)。A5 セルを読み取ろうとすると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されます。

string strA5 = ws.Cells["A5"].Value.ToString();

これを解決するのを手伝ってください。ありがとうアドバンス。

4

2 に答える 2

0

EpPlus 4.0.1.1 の時点で、計算エンジンと拡張メソッドがありCalculate(this ExcelRangeBase range)ます。Valueプロパティにアクセスする前に呼び出します。

ws.Cells["A5"].Calculate();

期待さws.Cells["A5"].Valueれる結果を返します。

于 2014-12-23T05:54:14.383 に答える
0

私の知る限り、EPPlus には計算エンジンがありません。これは、セル A5 に実際には "=SUM(A3:A4)" の計算式の結果値が含まれていないことを意味します。そして、あなたのコードから判断すると、A5 には値がなく、式の部分だけが存在したと思われます。(はい、各セルには 2 つの部分があります: 式の部分と値の部分です)。だから、このようなもの:

ws.Cells["A5"].Value.ToString();

「オブジェクト参照がオブジェクトのインスタンスに設定されていません」で失敗します。エラー。

于 2013-06-14T03:26:15.027 に答える