Package org.apache.poi.ss.formula.eval

Examples of org.apache.poi.ss.formula.eval.RefEval


        }
        if(arg instanceof BlankEval) {
            return 0;
        }
        if (arg instanceof RefEval) {
            RefEval refEval = (RefEval)arg;
            if (refEval.getNumberOfSheets() > 1) {
                // Multi-Sheet references are not supported
                throw new EvaluationException(ErrorEval.VALUE_INVALID);
            }
           
            ValueEval innerValueEval = refEval.getInnerValueEval(refEval.getFirstSheetIndex());
            if(innerValueEval instanceof NumberEval) {
                return ((NumberEval) innerValueEval).getNumberValue();
            }
            if(innerValueEval instanceof BlankEval) {
                return 0;
View Full Code Here


    public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0) {
        ValueEval arg = arg0;
        if (arg instanceof RefEval) {
            // always use the first sheet
            RefEval re = (RefEval)arg;
            arg = re.getInnerValueEval(re.getFirstSheetIndex());
        } else if (arg instanceof AreaEval) {
            // when the arg is an area, choose the top left cell
            arg = ((AreaEval) arg).getRelativeValue(0, 0);
        }
View Full Code Here

    }
  }

  private static ValueVector evaluateLookupRange(ValueEval eval) throws EvaluationException {
    if (eval instanceof RefEval) {
      RefEval re = (RefEval) eval;
      return new SingleValueVector(re.getInnerValueEval());
    }
    if (eval instanceof TwoDEval) {
      ValueVector result = LookupUtils.createVector((TwoDEval)eval);
      if (result == null) {
        throw new EvaluationException(ErrorEval.NA);
View Full Code Here

    if (eval instanceof TwoDEval) {
      return (TwoDEval) eval;
    }

    if(eval instanceof RefEval) {
      RefEval refEval = (RefEval) eval;
      // Make this cell ref look like a 1x1 area ref.

      // It doesn't matter if eval is a 2D or 3D ref, because that detail is never asked of AreaEval.
      return refEval.offset(0, 0, 0, 0);
    }
    throw EvaluationException.invalidValue();
  }
View Full Code Here

        }
      }
      return;
    }
    if (operand instanceof RefEval) {
      RefEval re = (RefEval) operand;
      collectValue(re.getInnerValueEval(), true, temp);
      return;
    }
    collectValue(operand, false, temp);
  }
View Full Code Here

  private static double getScalarValue(ValueEval arg) throws EvaluationException {

    ValueEval eval;
    if (arg instanceof RefEval) {
      RefEval re = (RefEval) arg;
      if (re.getNumberOfSheets() > 1) {
                throw new EvaluationException(ErrorEval.VALUE_INVALID);
      }
      eval = re.getInnerValueEval(re.getFirstSheetIndex());
    } else {
      eval = arg;
    }

    if (eval == null) {
View Full Code Here

        }
      }
      return;
    }
    if (arg instanceof RefEval) {
      RefEval re = (RefEval) arg;
      for (int sIx = re.getFirstSheetIndex(); sIx <= re.getLastSheetIndex(); sIx++) {
          collectValue(re.getInnerValueEval(sIx), temp, true);
      }
      return;
    }
    collectValue(arg, temp, true);
View Full Code Here

        }
      }
      return;
    }
    if (operand instanceof RefEval) {
      RefEval re = (RefEval) operand;
      for (int sIx = re.getFirstSheetIndex(); sIx <= re.getLastSheetIndex(); sIx++) {
          collectValue(re.getInnerValueEval(sIx), true, temp);
      }
      return;
    }
    collectValue(operand, false, temp);
  }
View Full Code Here

    }
  }

  private static ValueVector evaluateLookupRange(ValueEval eval) throws EvaluationException {
    if (eval instanceof RefEval) {
      RefEval re = (RefEval) eval;
      if (re.getNumberOfSheets() == 1) {
          return new SingleValueVector(re.getInnerValueEval(re.getFirstSheetIndex()));
      } else {
          return LookupUtils.createVector(re);
      }
    }
    if (eval instanceof TwoDEval) {
View Full Code Here

          }
        }
        continue;
      }
            if (arg instanceof RefEval) {
                RefEval re = (RefEval) arg;
                for (int sIx = re.getFirstSheetIndex(); sIx <= re.getLastSheetIndex(); sIx++) {
                    ValueEval ve = re.getInnerValueEval(sIx);
                    tempVe = OperandResolver.coerceValueToBoolean(ve, true);
                    if (tempVe != null) {
                        result = partialEvaluate(result, tempVe.booleanValue());
                        atleastOneNonBlank = true;
                    }
View Full Code Here

TOP

Related Classes of org.apache.poi.ss.formula.eval.RefEval

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.