Example usage for org.apache.poi.ss.formula.eval RefEval getInnerValueEval

List of usage examples for org.apache.poi.ss.formula.eval RefEval getInnerValueEval

Introduction

In this page you can find the example usage for org.apache.poi.ss.formula.eval RefEval getInnerValueEval.

Prototype

ValueEval getInnerValueEval(int sheetIndex);

Source Link

Usage

From source file:nl.eur.ese.spreadsheettest.DStarRunner.java

License:Apache License

/**
 * Resolve reference(-chains) until we have a normal value.
 *
 * @param field a ValueEval which can be a RefEval.
 * @return a ValueEval which is guaranteed not to be a RefEval
 * @throws EvaluationException If a multi-sheet reference was found along the way.
 *//*from  w  w w .  j  av a2 s .c  om*/
private static ValueEval solveReference(ValueEval field) throws EvaluationException {
    if (field instanceof RefEval) {
        RefEval refEval = (RefEval) field;
        if (refEval.getNumberOfSheets() > 1) {
            throw new EvaluationException(ErrorEval.VALUE_INVALID);
        }
        return solveReference(refEval.getInnerValueEval(refEval.getFirstSheetIndex()));
    } else {
        return field;
    }
}