2012-11-22 122 views
2

請在這個問題看:使用Apache POI XSSFWorkbook,我如何一次刷新所有公式單元格?

我加載一個大型.xlsx文件大小爲5MB說有&使用Apache POI &把值給部分細胞約30張。但是,在將所有數據寫入工作表後,工作簿不會刷新,這意味着不同單元格上的公式不會被評估。

我用 「XSSFFormulaEvaluator.evaluateAllFormulaCells(workbook);」,它給一些錯誤是這樣的:

Exception in thread "main" java.lang.IllegalArgumentException: Unknown error type: 
-60 at org.apache.poi.ss.usermodel.FormulaError.forInt(FormulaError.java:131) 

at org.apache.poi.xssf.usermodel.XSSFCell.setCellErrorValue(XSSFCell.java:667) 

at org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator.setCellValue(XSSFFormulaEvaluator.java:209) 

at org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator.evaluateFormulaCell(XSSFFormulaEvaluator.java:153) 

at org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.evaluateAllFormulaCells(HSSFFormulaEvaluator.java:327) 

at org.apache.poi.hssf.usermodel.HSSFFormulaEvaluator.evaluateAllFormulaCells(HSSFFormulaEvaluator.java:318) 

at org.apache.poi.xssf.usermodel.XSSFFormulaEvaluator.evaluateAllFormulaCells(XSSFFormulaEvaluator.java:238) at com.RefreshExcelFile.main(RefreshExcelFile.java:15) 

謝謝..

+0

看起來l ike你的一個公式是有問題的。你能否嘗試依次評估每個單元,並從中找出問題的公式是什麼? – Gagravarr

回答

1

你必須遵循這些步驟

XSSFFormulaEvaluator.evaluateAllFormulaCells(workbook); workbook.write();

但你的問題看起來喜歡用定義公式

相關問題