Author: fanningpj
Date: Thu May 25 10:39:47 2023
New Revision: 1910049

URL: http://svn.apache.org/viewvc?rev=1910049&view=rev
Log:
[bug-66614] remove limit on offset function params

Modified:
    poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/Offset.java
    poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellReference.java

Modified: 
poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/Offset.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/Offset.java?rev=1910049&r1=1910048&r2=1910049&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/Offset.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/formula/functions/Offset.java 
Thu May 25 10:39:47 2023
@@ -17,6 +17,7 @@
 
 package org.apache.poi.ss.formula.functions;
 
+import org.apache.poi.ss.SpreadsheetVersion;
 import org.apache.poi.ss.formula.eval.AreaEval;
 import org.apache.poi.ss.formula.eval.ErrorEval;
 import org.apache.poi.ss.formula.eval.EvaluationException;
@@ -39,10 +40,6 @@ import org.apache.poi.ss.formula.eval.Va
  * <b>width</b> (default same width as base reference) is the column count for 
the returned area reference.<br>
  */
 public final class Offset implements Function {
-    // These values are specific to BIFF8
-    private static final int LAST_VALID_ROW_INDEX = 0xFFFF;
-    private static final int LAST_VALID_COLUMN_INDEX = 0xFF;
-
 
     /**
      * A one dimensional base + offset.  Represents either a row range or a 
column range.
@@ -199,10 +196,10 @@ public final class Offset implements Fun
         LinearOffsetRange absRows = 
orRow.normaliseAndTranslate(baseRef.getFirstRowIndex());
         LinearOffsetRange absCols = 
orCol.normaliseAndTranslate(baseRef.getFirstColumnIndex());
 
-        if(absRows.isOutOfBounds(0, LAST_VALID_ROW_INDEX)) {
+        if(absRows.isOutOfBounds(0, 
SpreadsheetVersion.EXCEL2007.getLastRowIndex())) {
             throw new EvaluationException(ErrorEval.REF_INVALID);
         }
-        if(absCols.isOutOfBounds(0, LAST_VALID_COLUMN_INDEX)) {
+        if(absCols.isOutOfBounds(0, 
SpreadsheetVersion.EXCEL2007.getLastColumnIndex())) {
             throw new EvaluationException(ErrorEval.REF_INVALID);
         }
         return baseRef.offset(orRow.getFirstIndex(), orRow.getLastIndex(), 
orCol.getFirstIndex(), orCol.getLastIndex());

Modified: poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellReference.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellReference.java?rev=1910049&r1=1910048&r2=1910049&view=diff
==============================================================================
--- poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellReference.java 
(original)
+++ poi/trunk/poi/src/main/java/org/apache/poi/ss/util/CellReference.java Thu 
May 25 10:39:47 2023
@@ -93,10 +93,6 @@ public class CellReference implements Ge
      * digits or dot.  (They can even end in dot).
      */
     private static final Pattern NAMED_RANGE_NAME_PATTERN = 
Pattern.compile("[_A-Z][_.A-Z0-9]*", Pattern.CASE_INSENSITIVE);
-    //private static final String BIFF8_LAST_COLUMN = 
SpreadsheetVersion.EXCEL97.getLastColumnName();
-    //private static final int BIFF8_LAST_COLUMN_TEXT_LEN = 
BIFF8_LAST_COLUMN.length();
-    //private static final String BIFF8_LAST_ROW = 
String.valueOf(SpreadsheetVersion.EXCEL97.getMaxRows());
-    //private static final int BIFF8_LAST_ROW_TEXT_LEN = 
BIFF8_LAST_ROW.length();
 
     // FIXME: _sheetName may be null, depending on the entry point.
     // Perhaps it would be better to declare _sheetName is never null, using 
an empty string to represent a 2D reference.



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to