當excel中包含計算公式時,利用poi去執行的方法如下。
第一種,當你知道你要執行的workbook型別時(hssf 或者xssf),可以直接呼叫靜態方法,一次將workbook上的所有公式計算完畢。
file tempfile = new file("/somepath/test.xls");
inputstream tempfilestream = new fileinputstream(tempfile);
hssfworkbook workbook = new hssfworkbook(tempfilestream);
// 執行計算公式
hssfformulaevaluator.evaluateallformulacells(workbook);
注意:當你利用poi寫入單元格的內容不是number型別,而是文字型別時。上述計算是不會執行的。
第二種: 遍歷整個workbook去執行:
fileinputstream fis = new fileinputstream("/somepath/test.xls");
workbook wb = new hssfworkbook(fis); //or new xssfworkbook("/somepath/test.xls")
formulaevaluator evaluator = wb.getcreationhelper().createformulaevaluator();
for(int sheetnum = 0; sheetnum < wb.getnumberofsheets(); sheetnum++) }}
}
POI生成EXCEL,公式不自動執行的問題
當使用poi操作excel時,發現由poi生成的公式能夠在開啟excel是被執行,而事先手工寫入excel模板檔案的公式則不自動被呼叫,必須手動雙擊該cell才能生效。採取的辦法 1.使用cell.setcellformula方法重新在制定cell裡寫入公式。2.使用sheet.setforcefo...
隱藏Excel中的公式
我們的目標不僅是要使用者無法修改我們設定的公式,更要使用者也無法知曉我們公式的內容。如何做 1 ctrl a全選工作表,右鍵 設定單元格格式 保護標籤,取消鎖定和隱藏的選擇。此步驟的目的,是允許使用者在保護後的工作表中輸入資料 2 ctrl g撥出定位框,單擊定位條件,選擇公式,確定。執行此操作使後...
Excel 的處理一 POI 解析excel
03與07版本excel區別 一 字尾不同 前者.xls,後者.xslx 二 前者行數有最大行數限制 最大65536行 後者無行數限制 1.1 簡單方式 載入檔案路徑 獲取流 new fileinputstream filepath 再把流放入到工作簿裡,此時inputstream物件就讀取到工作簿...