Ich habe ein Excel-Blatt (xslx), wo ich eine Array-Formel definiert haben (https://support.office.com/en-us/article/Guidelines-and-examples-of-array-formulas-7D94A64E-3FF3-4686-9372-ECFD5CAA57C7). Das funktioniert wie ein Charme in excel isselt. Ich benutze Apache Poi, um einige Werte in diesem Excel-Blatt programmatisch zu manipulieren. Nach dieser Manipulation möchte ich das Ergebnis dieser Array-Formel neu berechnen, aber ich weiß nicht, wie ich es machen soll. mit "normalen" Formel I tun es, wie folgend:Array Formel in Apache poi
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
XSSFRow row = sheet.getRow(i);
Cell cell = row.getCell(j);
evaluator.evaluateCell(cell);
double value = cell.getNumericValue();
Bei Array Formel gibt es das Verfahren
void setCellArrayFormula(String formula, CellRangeAddress range)
in der Klasse XSSFCell und
public CellRange<XSSFCell> setArrayFormula(String formula, CellRangeAddress range)
in der Klasse XSSFSheet .
Nach der Formel mit einem Aufruf Einstellung wie cell.setCellArrayFormula("SUM(ABS(H2:H5))", new CellRangeAddress(2,5,7,7));
ich weiß nicht, wie das Ergebnis dieser Formel zu bekommen (aber ich bin auch nicht sicher, ob dies der richtige Weg ist, um die Matrixformel in Apache Poi zu verwenden. In Excel ich muss es so tun {=SUM(ABS(H2:H5))}
)
Kann jemand die Array-Formel in Apache Poi verwenden? Vielen Dank!