POI cell.setCellFormula导致“名称”MY_FUNC“在当前工作簿中完全未知”错误
我想要使用POI setCellFormula公式设置单元格,公式是从一个Excel加载项,但目前没有安装。 之后,我将把excel移动到安装了插件的PC上来评估公式。
但是,当我尝试使用setCellFormula设置公式时,我得到一个exception:
线程“main”中的例外org.apache.poi.ss.formula.FormulaParser.function(FormulaParser.java:918)当前工作簿中的名称'MY_FUNC' org.apache.poi.ss.formula.FormulaParser.parseNonRange(FormulaParser.java:556)at org.apache.poi.ss.formula.FormulaParser.parseRangeable(FormulaParser.java:427)at org.apache.poi.ss (FormulaParser.java:266)at org.apache.poi.ss.formula.FormulaParser.parseSimpleFactor(FormulaParser.java:1117)at org.apache.poi.ss.formula.FormulaParser.percentFactor(FormulaParser .java:1077)org.apache.poi.ss.formula.FormulaParser.Term(FormulaParser.java:1424)org.apache.poi.ss.formula.FormulaParser.powerFactor(FormulaParser.java:1064)。 apache.poi.ss.formula.FormulaParser.additiveExpression(FormulaParser.java:1524)at org.apache.poi.ss.formula.FormulaParser.concatExpression(FormulaParser.java:1508)at org.apache.poi.ss.formula。 FormulaParser。 在org.apache.poi.ss.formula.FormulaParser.parse(FormulaParser.java:1566)处的org.apache.poi.ss.formula.FormulaParser.unionExpression(FormulaParser.java:1445)处的比较expression式(FormulaParser.java:1465)在org.apache.poi.hssf处的org.apache.poi.ss.formula.FormulaParser.parse(FormulaParser.java:174)位于org.apache.poi.hssf.model.HSSFFormulaParser.parse(HSSFFormulaParser.java:72) .usermodel.HSSFCell.setCellFormula(HSSFCell.java:605)
有没有一种方法,我没有马上评估它的公式设置?
如果Excel打开,则将公式插入单元格将导致Excel评估公式。
我知道的唯一方法是插入前缀为'使其成为string而不是公式的公式。
然后,插件本身必须通过查找和replace'= with =来将string转换为公式