由于我使用的poi版本是3.10,在编译跨工作的公式:SUM('A:B'!A1)公式的时间报错,
java.lang.IllegalArgumentException: Invalid sheetIndex: -1. at org.apache.poi.ss.formula.SheetRefEvaluator.<init>(SheetRefEvaluator.java:36) at org.apache.poi.ss.formula.OperationEvaluationContext.createExternSheetRefEvaluator(OperationEvaluationContext.java:136) at org.apache.poi.ss.formula.OperationEvaluationContext.createExternSheetRefEvaluator(OperationEvaluationContext.java:84) at org.apache.poi.ss.formula.OperationEvaluationContext.getRef3DEval(OperationEvaluationContext.java:313) at org.apache.poi.ss.formula.WorkbookEvaluator.getEvalForPtg(WorkbookEvaluator.java:634) at org.apache.poi.ss.formula.WorkbookEvaluator.evaluateFormula(WorkbookEvaluator.java:505) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
而不加单引号SUM(A:B!A1)的时候,报在'!'之前期望出现逗号',' or ')'.在网上查了半天资料,都没有找到解决方案,只好自己上官网研究.意外发现apache已经解决了这个问题.以下是apache 3.11的升级日志截图:
大幸!升级即可解决!
注意:公式不再加单引号.也不加等号.如:SUM(A:B!A1)