POI cell.setCellFormula вызывает ошибку "Имя 'MY_FUNC' полностью неизвестно в текущей рабочей книге" ошибка - PullRequest
2 голосов
/ 24 октября 2011

Я хочу использовать POI setCellFormula, чтобы установить формулу для ячейки, формула из надстройки Excel, но в настоящее время не установлена.После этого я перенесу Excel на ПК с установленной надстройкой для оценки формул.

Однако, когда я пытаюсь установить формулу с помощью setCellFormula, я получаю исключение:

Исключение в потоке "main" org.apache.poi.ss.formula.FormulaParseException: имя 'MY_FUNC' полностью неизвестно в текущей книге по адресу org.apache.poi.ss.formula.FormulaParser.function (FormulaParser.java:918) в org.apache.poi.ss.formula.FormulaParser.parseNonRange (FormulaParser.java:556) в org.apache.poi.ss.formula.FormulaParser.parseRangeable (FormulaParser.java:427) в org.apache.poi.ss.formula.FormulaParser.parseRangeExpression (FormulaParser.java:266) в org.apache.poi.ss.formula.FormulaParser.parseSimpleFactor (FormulaParser.java:1117) в org.apache.poi.ss.formaror.Formula.per(FormulaParser.java:1077) в org.apache.poi.ss.formula.FormulaParser.powerFactor (FormulaParser.java:1064) в org.apache.poi.ss.formula.FormulaParser.Term (FormulaParser.java:1424) вorg.apache.poi.ss.formula.FormulaParser.additiveExpression (FormulaParser.java:1524) в org.apache.poi.ss.formula.FormulaParser.concatExpression (FormulaParser.java:1508) в org.apache.poi.ss.formula.FormulaParpression.compisonFormulaParser.java:1465) в org.apache.poi.ss.formula.FormulaParser.unionExpression (FormulaParser.java:1445) в org.apache.poi.ss.formula.FormulaParser.parse (FormulaParser.java:1566) в орг..apache.poi.ss.formula.FormulaParser.parse (FormulaParser.java:174) в org.apache.poi.hssf.model.HSSFFormulaParser.parse (HSSFFormulaParser.java:72) в org.apache.poi.hssf.user.HSSFCell.setCellFormula (HSSFCell.java:605)

Можно ли задать формулу без ее немедленной оценки?

1 Ответ

3 голосов
/ 24 октября 2011

Если Excel открыт, то вставка формулы в ячейку заставит Excel вычислить формулу.
Единственный известный мне способ - вставить строку формы с префиксом «, чтобы сделать ее строкой, а не формулой.
Тогда самому плагину придется преобразовать строки в формулы, выполнив поиск и замену '= with =

...