[解决]POI 公式不支持跨工作表

由于我使用的poi版本是3.10,在编译跨工作的公式:SUM('A:B'!A1)公式的时间报错,

java.lang.IllegalArgumentException: Invalid sheetIndex: -1.
	at org.apache.poi.ss.formula.SheetRefEvaluator.(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的升级日志截图:

 [解决]POI 公式不支持跨工作表_第1张图片

大幸!升级即可解决!

注意:公式不再加单引号.也不加等号.如:SUM(A:B!A1)

你可能感兴趣的:(poi)