Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Apache POI XSSFWorkbook,如何一次刷新所有公式单元格?_Java_Apache Poi - Fatal编程技术网

Java 使用Apache POI XSSFWorkbook,如何一次刷新所有公式单元格?

Java 使用Apache POI XSSFWorkbook,如何一次刷新所有公式单元格?,java,apache-poi,Java,Apache Poi,请看一下这个问题: 我正在加载一个大的.xlsx文件,大小为5MB,使用ApachePOI加载大约30张表,并将值放入一些单元格。但将所有数据写入工作表后,工作簿不会刷新,这意味着不同单元格上的公式不会得到计算 我使用了“XSSFFormulaEvaluator.evaluateAllFormulaCells(工作簿);”,它给出了如下错误: Exception in thread "main" java.lang.IllegalArgumentException: Unknown er

请看一下这个问题:

我正在加载一个大的
.xlsx
文件,大小为5MB,使用
ApachePOI
加载大约30张表,并将值放入一些单元格。但将所有数据写入工作表后,工作簿不会刷新,这意味着不同单元格上的公式不会得到计算

我使用了“
XSSFFormulaEvaluator.evaluateAllFormulaCells(工作簿);
”,它给出了如下错误:

    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)

谢谢。

您必须遵循以下步骤

XSSFFormulaEvaluator.evaluateAllFormulaCells(工作簿);
workbook.write()


但是您的定义公式的问题看起来像是您的一个公式有问题。你能试着依次计算每个单元格,并从中得出问题公式吗?