]> source.dussan.org Git - poi.git/commitdiff
reverted changes accidentally submitted with r692538
authorJosh Micich <josh@apache.org>
Fri, 5 Sep 2008 20:43:37 +0000 (20:43 +0000)
committerJosh Micich <josh@apache.org>
Fri, 5 Sep 2008 20:43:37 +0000 (20:43 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@692541 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/hssf/record/formula/functions/Index.java
src/java/org/apache/poi/hssf/record/formula/functions/LookupUtils.java
src/java/org/apache/poi/hssf/record/formula/functions/Vlookup.java

index 024bd7a05eaebeb28ad9f219ee6bb7c9e16ac318..3c93c0846bdab7b908876774d4d8fde4a2fd4d80 100644 (file)
@@ -90,19 +90,9 @@ public final class Index implements Function {
                }
        }
        
-       private static ValueEval getValueFromArea(AreaEval ae, int pRowIx, int pColumnIx) throws EvaluationException {
+       private static ValueEval getValueFromArea(AreaEval ae, int rowIx, int columnIx) throws EvaluationException {
                int width = ae.getWidth();
                int height = ae.getHeight();
-               int rowIx;
-               int columnIx;
-               if (ae.isRow() && pColumnIx == 0 && pRowIx > 0) {
-                       // TODO - explore all these special cases
-                       rowIx = 0;
-                       columnIx = pRowIx;
-               } else {
-                       rowIx = pRowIx;
-                       columnIx = pColumnIx;
-               }
                
                // Slightly irregular logic for bounds checking errors
                if (rowIx >= height || columnIx >= width) {
index 972a60aaae144cd7c5dc22884dff9b219e332942..e6a3ec81c2f23edd79186b13d8ccbe0869ba031f 100644 (file)
@@ -17,7 +17,6 @@
 
 package org.apache.poi.hssf.record.formula.functions;
 
-import org.apache.poi.hssf.record.NumberRecord;
 import org.apache.poi.hssf.record.formula.eval.AreaEval;
 import org.apache.poi.hssf.record.formula.eval.BlankEval;
 import org.apache.poi.hssf.record.formula.eval.BoolEval;
@@ -588,9 +587,7 @@ final class LookupUtils {
 
                if (lookupValue instanceof BlankEval) {
                        // blank eval can never be found in a lookup array
-                       //throw new EvaluationException(ErrorEval.NA);
-                       // TODO - investigate this
-                       return new NumberLookupComparer(NumberEval.ZERO);
+                       throw new EvaluationException(ErrorEval.NA);
                }
                if (lookupValue instanceof StringEval) {
                        return new StringLookupComparer((StringEval) lookupValue);
index f6b65f649540cb57b087cff3dcf9cbe214c14c55..54f7d465e5de77d75946c61fec8dae63d2a93610 100644 (file)
@@ -60,16 +60,7 @@ public final class Vlookup implements Function {
                        AreaEval tableArray = LookupUtils.resolveTableArrayArg(args[1]);
                        boolean isRangeLookup = LookupUtils.resolveRangeLookupArg(arg3, srcCellRow, srcCellCol);
                        int rowIndex = LookupUtils.lookupIndexOfValue(lookupValue, LookupUtils.createColumnVector(tableArray, 0), isRangeLookup);
-                       ValueEval veColIndex;
-                       try {
-                               veColIndex = OperandResolver.getSingleValue(args[2], srcCellRow, srcCellCol);
-                       } catch (EvaluationException e) {
-                               // weird translation of errors for the third arg - needs investigation
-                               if (e.getErrorEval() == ErrorEval.NA) {
-                                       return ErrorEval.REF_INVALID;
-                               }
-                               throw e;
-                       }
+                       ValueEval veColIndex = OperandResolver.getSingleValue(args[2], srcCellRow, srcCellCol);
                        int colIndex = LookupUtils.resolveRowOrColIndexArg(veColIndex);
                        ValueVector resultCol = createResultColumnVector(tableArray, colIndex);
                        return resultCol.getItem(rowIndex);