2020年7月21日 星期二

使用NPOI 如何正確取得Excel 中有公式儲存格的值

標題有點饒舌,久違了再次使用NPOI 套件來操作Excel,轉換到 EPPlus 已有一段時日,對於能夠快速指定到Cell 就能直接取值的手感,再次體會NPOI 已望塵莫及。


這次剛好遇到excel 中有公式,使用一般取值函式 GetCell(Index).ToString() 得到的是公式本身,而非公式套用後的值。

若要能夠正確取得值需要使用 IFormulaEvaluator 物件,並且搭配 StringValue 屬性取得正確的值,使用方法如圖



另外,實作過程中,以往需要針對不同的office 版本(.xls、.xlsx),去建立對應的物件,似乎在2.x 版本已經提供的工廠方法,能夠更方便的建立document。



同場加映,若要合併欄位可以這樣做

沒有留言:

張貼留言