Excel SUM公式失效 顯示為0 (excel sum formula returns zero)
情境:
這個issue的情況是,我們使用aspose取代範本內的一些參數,範本內有使用SUM()公式去計算某些欄位,不過神奇的事情發生了,用「office365」開啟產生的檔案,SUM()公式可以正常功能,顯示出家總的數字,可是如果用「excel 2013」開啟,SUM()公式欄位卻沒有任何變化,總是顯示為0。
這些欄位「數字存儲為文本」,且有開啟自動計算欄位,所以當下真的不知道到底發生了什麼,只知道不同版本的excel開啟檔案有不同結果。
猜測原因:
我覺得有可能是因為版本公式計算的載入時機不同導致了這個問題,有可能「excel 2013」公式計算是同步執行的,因為在SUM()的時候,需被程式取代為數字的欄位還未被執行,因此還是文本格式,導致公式失效。
而「office365」有可能是非同步執行,又或者「office365」在檔案載入後會自動再執行一次公式計算,因此可以正常運作。
解決方法:
再需被計算的欄位已被程式取代後,再做一次公式計算「workbook.CalculateFormula()」即可解決這個問題。
留言
張貼留言