2015年3月10日 星期二

apache poi XLS formula

一般常見報表都是純資訊提供~
阿不過也是看user的習慣啦,這次就做了滿滿公式的報表Orz...
(雖然有一部分的xls公式,user已經寫好了,但是有些還是得自己推~囧/)
總之~就因為poi能做,就只好把他做出來了~囧/...

poi的公式非常的簡單好寫,一行就解決^_^b~
只要把xls上能跑的公式,把前面的(=)去掉,copy進來就馬上用的嚇嚇叫~~
cell.setCellFormula( "SUM(A1:A10)" );

唯一要處理的還是所謂的儲存格格式(DataFormat),依其情況再set就可以了~
但是一定要處理,不然就會看到很多可愛的######出來鬧場一.一a....

另外若是這格公式算出來的值(數字)還要再被其它格拿去計算的話~
建議是在公式包上  VALUE( )  ,確保出來是數字(有問題會被轉為0),以免後續計算會出現 #DIV/0! 之類的怪東西,或是在整欄加總(SUM)不正確的問題~

但若是非數字的項目,就不要再加VALUE了,因為加了一定轉成數字,然後就又看到GG...

這次比較特殊用到的公式叫 SUMIF,e.g:
SUMIF(A1:A20, ">=0", B1:B20)
翻譯出來叫做,判斷欄位A1~A20,若是內容 >=0 ,就加總 B1~B20
會記錄一下是覺得~網路上有些範例真的有點詭異一.一|||...




沒有留言: