错误:代码不完整 - 无法处理第一个类型的arg(org.apache.poi.ss.formula.eval.NumberEval)

时间:2017-03-21 09:35:05

标签: java apache apache-poi

我有一个包含很多公式的excel,我需要在我的java代码中复制它,所以我使用了Apache POI。

使用Apache POI生成一个workBook对象。我们更新workBook对象中的输入字段,并从workBook对象中读取输出字段并将它们存储在我们的java类对象中。

当我尝试使用Apache POI评估公式单元格时,我收到错误:

java.lang.RuntimeException: Incomplete code - cannot handle first arg of type (org.apache.poi.ss.formula.eval.NumberEval)
at org.apache.poi.ss.formula.functions.Index.convertFirstArg(Index.java:106)
at org.apache.poi.ss.formula.functions.Index.evaluate(Index.java:50)
at org.apache.poi.ss.formula.functions.Index.evaluate(Index.java:114)
at org.apache.poi.ss.formula.OperationEvaluatorFactory.evaluate(OperationEvaluatorFactory.java:132)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateFormula(WorkbookEvaluator.java:550)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateAny(WorkbookEvaluator.java:317)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateReference(WorkbookEvaluator.java:750)
at org.apache.poi.ss.formula.SheetRefEvaluator.getEvalForCell(SheetRefEvaluator.java:48)
at org.apache.poi.ss.formula.SheetRangeEvaluator.getEvalForCell(SheetRangeEvaluator.java:74)
at org.apache.poi.ss.formula.LazyAreaEval.getRelativeValue(LazyAreaEval.java:51)
at org.apache.poi.ss.formula.LazyAreaEval.getRelativeValue(LazyAreaEval.java:45)
at org.apache.poi.ss.formula.eval.AreaEvalBase.getAbsoluteValue(AreaEvalBase.java:100)
at org.apache.poi.ss.formula.eval.OperandResolver.chooseSingleElementFromAreaInternal(OperandResolver.java:163)
at org.apache.poi.ss.formula.eval.OperandResolver.chooseSingleElementFromArea(OperandResolver.java:120)
at org.apache.poi.ss.formula.eval.OperandResolver.getSingleValue(OperandResolver.java:64)
at org.apache.poi.ss.formula.eval.TwoOperandNumericOperation.singleOperandEvaluate(TwoOperandNumericOperation.java:29)
at org.apache.poi.ss.formula.eval.TwoOperandNumericOperation.evaluate(TwoOperandNumericOperation.java:36)
at org.apache.poi.ss.formula.functions.Fixed2ArgFunction.evaluate(Fixed2ArgFunction.java:33)
at org.apache.poi.ss.formula.OperationEvaluatorFactory.evaluate(OperationEvaluatorFactory.java:119)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateFormula(WorkbookEvaluator.java:550)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateAny(WorkbookEvaluator.java:317)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateReference(WorkbookEvaluator.java:750)
at org.apache.poi.ss.formula.SheetRefEvaluator.getEvalForCell(SheetRefEvaluator.java:48)
at org.apache.poi.ss.formula.SheetRangeEvaluator.getEvalForCell(SheetRangeEvaluator.java:74)
at org.apache.poi.ss.formula.LazyAreaEval.getRelativeValue(LazyAreaEval.java:51)
at org.apache.poi.ss.formula.LazyAreaEval.getRelativeValue(LazyAreaEval.java:45)
at org.apache.poi.ss.formula.eval.AreaEvalBase.getAbsoluteValue(AreaEvalBase.java:100)
at org.apache.poi.ss.formula.eval.OperandResolver.chooseSingleElementFromAreaInternal(OperandResolver.java:163)
at org.apache.poi.ss.formula.eval.OperandResolver.chooseSingleElementFromArea(OperandResolver.java:120)
at org.apache.poi.ss.formula.eval.OperandResolver.getSingleValue(OperandResolver.java:64)
at org.apache.poi.ss.formula.eval.TwoOperandNumericOperation.singleOperandEvaluate(TwoOperandNumericOperation.java:29)
at org.apache.poi.ss.formula.eval.TwoOperandNumericOperation.evaluate(TwoOperandNumericOperation.java:35)
at org.apache.poi.ss.formula.functions.Fixed2ArgFunction.evaluate(Fixed2ArgFunction.java:33)
at org.apache.poi.ss.formula.OperationEvaluatorFactory.evaluate(OperationEvaluatorFactory.java:119)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateFormula(WorkbookEvaluator.java:550)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateAny(WorkbookEvaluator.java:317)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateReference(WorkbookEvaluator.java:750)
at org.apache.poi.ss.formula.SheetRefEvaluator.getEvalForCell(SheetRefEvaluator.java:48)
at org.apache.poi.ss.formula.SheetRangeEvaluator.getEvalForCell(SheetRangeEvaluator.java:74)
at org.apache.poi.ss.formula.LazyAreaEval.getRelativeValue(LazyAreaEval.java:51)
at org.apache.poi.ss.formula.LazyAreaEval.getRelativeValue(LazyAreaEval.java:45)
at org.apache.poi.ss.formula.eval.AreaEvalBase.getAbsoluteValue(AreaEvalBase.java:100)
at org.apache.poi.ss.formula.eval.OperandResolver.chooseSingleElementFromAreaInternal(OperandResolver.java:163)
at org.apache.poi.ss.formula.eval.OperandResolver.chooseSingleElementFromArea(OperandResolver.java:120)
at org.apache.poi.ss.formula.eval.OperandResolver.getSingleValue(OperandResolver.java:64)
at org.apache.poi.ss.formula.eval.UnaryPlusEval.evaluate(UnaryPlusEval.java:38)
at org.apache.poi.ss.formula.functions.Fixed1ArgFunction.evaluate(Fixed1ArgFunction.java:33)
at org.apache.poi.ss.formula.OperationEvaluatorFactory.evaluate(OperationEvaluatorFactory.java:119)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateFormula(WorkbookEvaluator.java:550)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateAny(WorkbookEvaluator.java:317)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateReference(WorkbookEvaluator.java:750)
at org.apache.poi.ss.formula.SheetRefEvaluator.getEvalForCell(SheetRefEvaluator.java:48)
at org.apache.poi.ss.formula.SheetRangeEvaluator.getEvalForCell(SheetRangeEvaluator.java:74)
at org.apache.poi.ss.formula.LazyAreaEval.getRelativeValue(LazyAreaEval.java:51)
at org.apache.poi.ss.formula.LazyAreaEval.getRelativeValue(LazyAreaEval.java:45)
at org.apache.poi.ss.formula.eval.AreaEvalBase.getAbsoluteValue(AreaEvalBase.java:100)
at org.apache.poi.ss.formula.eval.OperandResolver.chooseSingleElementFromAreaInternal(OperandResolver.java:163)
at org.apache.poi.ss.formula.eval.OperandResolver.chooseSingleElementFromArea(OperandResolver.java:120)
at org.apache.poi.ss.formula.eval.OperandResolver.getSingleValue(OperandResolver.java:64)
at org.apache.poi.ss.formula.eval.TwoOperandNumericOperation.singleOperandEvaluate(TwoOperandNumericOperation.java:29)
at org.apache.poi.ss.formula.eval.TwoOperandNumericOperation.evaluate(TwoOperandNumericOperation.java:35)
at org.apache.poi.ss.formula.functions.Fixed2ArgFunction.evaluate(Fixed2ArgFunction.java:33)
at org.apache.poi.ss.formula.OperationEvaluatorFactory.evaluate(OperationEvaluatorFactory.java:119)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateFormula(WorkbookEvaluator.java:550)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateAny(WorkbookEvaluator.java:317)
at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateReference(WorkbookEvaluator.java:750)
at org.apache.poi.ss.formula.SheetRefEvaluator.getEvalForCell(SheetRefEvaluator.java:48)
at org.apache.poi.ss.formula.SheetRangeEvaluator.getEvalForCell(SheetRangeEvaluator.java:74)
at org.apache.poi.ss.formula.LazyAreaEval.getRelativeValue(LazyAreaEval.java:51)
at org.apache.poi.ss.formula.LazyAreaEval.getRelativeValue(LazyAreaEval.java:45)
at org.apache.poi.ss.formula.eval.AreaEvalBase.getAbsoluteValue(AreaEvalBase.java:100)
at org.apache.poi.ss.formula.eval.OperandResolver.chooseSingleElementFromAreaInternal(OperandResolver.java:163)
at org.apache.poi.ss.formula.eval.OperandResolver.chooseSingleElementFromArea(OperandResolver.java:120)
at org.apache.poi.ss.formula.eval.OperandResolver.getSingleValue(OperandResolver.java:64)
at org.apache.poi.ss.formula.eval.TwoOperandNumericOperation.singleOperandEvaluate(TwoOperandNumericOperation.java:29)
at org.apache.poi.ss.formula.eval.TwoOperandNumericOperation.evaluate(TwoOperandNumericOperation.java:35)
at org.apache.poi.ss.formula.functions.Fixed2ArgFunction.evaluate(Fixed2ArgFunction.java:33)

所有功能在excel中都运行良好。

先谢谢。

0 个答案:

没有答案