This document provides information on upgrading from version 5 to version 6.
Upgrade JAR
<dependency>
<groupId>io.keikai</groupId>
<artifactId>keikai-ex</artifactId>
<version>6.0.0</version>
</dependency>
Incompatible Changes
Based on ZK 10
When including Keikai 6.0.0, you need to use ZK 10.0.0 or later. To upgrade to ZK 10, please see “Important Upgrade Note”.
Adopt Apache POI
From 6.0.0, Keikai POI now bases on Apache POI 5.
Change package from org.zkoss.poi
to org.apache.poi
or most methods, simply updating the import statements to the new package should suffice. However, for certain methods, adjustments to their usage are necessary
org.apache.poi.ss.formula.SheetRangeEvaluator
Before:
SheetRangeEvaluator.getEvalForCell(int rowIndex, int columnIndex)
After:
SheetRangeEvaluator.getEvalForCell(int sheetIndex, int rowIndex, int columnIndex)
Example Usage
Before:
public class MyCell implements FreeRefFunction {
@Override
public ValueEval evaluate(ValueEval[] valueEvals, OperationEvaluationContext context) {
ValueEval evalCell = context.getRefEvaluatorForCurrentSheet()
.getEvalForCell(context.getRowIndex(), context.getColumnIndex());
After:
public class MyCell implements FreeRefFunction {
@Override
public ValueEval evaluate(ValueEval[] valueEvals, OperationEvaluationContext context) {
ValueEval evalCell = context.getRefEvaluatorForCurrentSheet()
.getEvalForCell(context.getSheetIndex(), context.getRowIndex(), context.getColumnIndex());
org.apache.poi.ss.formula.eval.RefEval
Before:
RefEval.getInnerValueEval()
After:
RefEval.getInnerValueEval(int sheetIndex)
JDK 11
The binary-compatible level is Java 11. Please make sure to use Java 11/Jakarta 11 or a higher version.
For details, see release note.
Current Known Issues:
You can find a workaround (if available) in the attached file of each bug page .
Comments