POI執行EXCEL中的公式

2021-09-02 17:21:26 字數 800 閱讀 2175

當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物件就讀取到工作簿...