我想使用POI setCellFormula将公式设置为单元格,公式来自excel加载项但当前未安装。之后,我会将excel移动到安装了加载项的PC上,以评估公式。
但是,当我尝试使用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.formula.FormulaParser.percentFactor(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.FormulaParser.comparisonExpression(FormulaParser.java:1465) 在org.apache.poi.ss.formula.FormulaParser.unionExpression(FormulaParser.java:1445) 在org.apache.poi.ss.formula.FormulaParser.parse(FormulaParser.java:1566) 在org.apache.poi.ss.formula.FormulaParser.parse(FormulaParser.java:174) 在org.apache.poi.hssf.model.HSSFFormulaParser.parse(HSSFFormulaParser.java:72) 在org.apache.poi.hssf.usermodel.HSSFCell.setCellFormula(HSSFCell.java:605)
有没有一种方法可以设置公式而不立即评估它?
答案 0 :(得分:3)
如果Excel打开然后将公式插入单元格将导致Excel评估公式。
我所知道的唯一方法是插入前缀为'的公式字符串,使其成为字符串而不是公式。
然后addin -self必须通过查找和替换'= with =