Что работает < /strong> < /p>
Код: Выделить всё
FormulaEvaluator evaluator = workbook.getCreationHelper()
.createFormulaEvaluator();
// Simple XLOOKUP
cell.setCellFormula("_xlfn.XLOOKUP(C$11,"Sheet2!$A:$A,Sheet2!$Q:$Q)");
CellValue result = evaluator.evaluate(cell);
// result.getCellType() == CellType.NUMERIC or STRING as expected
Когда я изменяю формулу для использования слева, объединение трех столбцов и резервное значение
FormulaEvaluator evaluator = workbook.getCreationHelper()
.createFormulaEvaluator();
cell.setCellFormula("_xlfn.XLOOKUP(LEFT(C$18,11)&C$9&C$11,Sheet2!$A$4:$A$600&Sheet2!$C$4:$C$600&Sheet2!$E$4:$E$600,Sheet2!$N$4:$N$600,\"Not found\")");
CellValue result = evaluator.evaluate(cell);
// result.getCellType() == CellType.ERROR
// result.getErrorValue() == 15 (#VALUE! error)
< /code>
среда < /strong> < /p>
apachepoi 5.2.5 < /li>
java 21 < /li>
excel -файл, созданный в офисе 365 (xlsm) < /li>
< /ol>
point oreastr ценится.
Подробнее здесь: https://stackoverflow.com/questions/797 ... alue-erorr