我有一个excel表(xslx),我已经定义了一个数组公式(https://support.office.com/en-us/article/Guidelines-and-examples-of-array-formulas-7D94A64E-3FF3-4686-9372-ECFD5CAA57C7) . 这就像excel itselt中的魅力一样 . 我使用apache poi以编程方式操作excel表中的一些值 . 在那个操作后我想重新计算该数组公式的结果,但我不知道该怎么做 . 使用"normal"公式,我按如下方式执行:
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
XSSFRow row = sheet.getRow(i);
Cell cell = row.getCell(j);
evaluator.evaluateCell(cell);
double value = cell.getNumericValue();
对于使用数组公式,有方法
void setCellArrayFormula(String formula, CellRangeAddress range)
在类XSSFCell和
public CellRange setArrayFormula(String formula, CellRangeAddress range)
在类XSSFSheet中 .
用_546929之类的调用设置公式之后我不知道如何获得该公式的结果(但我也不确定这是否是在apache poi中使用数组公式的正确方法 . 在Excel中我必须做它喜欢这个 {=SUM(ABS(H2:H5))} )
有谁知道如何在apache poi中使用数组公式?谢谢!