2014-01-19 173 views
3

在我的下面的代碼中,c4的值是零。 C4單元具有公式SUM(C2:C3)。 EPPlus能夠讀取配方的細胞嗎?爲什麼C4被設置到零,而不是12是否可以通過公式讀取excel單元格值?

using (var package = new ExcelPackage(existingFile)) 
{ 
    ExcelWorkbook workBook = package.Workbook; 
    var currentWorksheet = workBook.Worksheets.First(); 

    currentWorksheet.Cells["C2"].Value = 5; 
    currentWorksheet.Cells["C3"].Value = 7; 
    var c4 = Convert.ToDouble(currentWorksheet.Cells["C4"].Value); //c4 is zero. why? 
} 
+0

你可以試試'.Formula'而不是'.Value'嗎?這可能有所幫助。 – Graffl

+0

currentWorksheet.Cells [「C4」]。公式返回「SUM(C2:C3)」 –

+1

是的,對不起。我沒有仔細閱讀你的問題。這裏的問題是無法通過EPPlus執行計算。 Excel需要計算公式,據我所知,因此文件需要打開。 – Graffl

回答

6

作爲EpPlus 4.0.1.1的,有一個擴展方法public static void Calculate(this ExcelRangeBase range)。調用訪問C4的Value屬性之前它:

currentWorksheet.Cells["C4"].Calculate(); 

currentWorksheet.Cells["C4"].Value將返回後12

相關問題