You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by on...@apache.org on 2017/11/04 07:42:33 UTC

svn commit: r1814258 - in /poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers: XSSFColumnShifter.java XSSFRowColShifter.java XSSFRowShifter.java

Author: onealj
Date: Sat Nov  4 07:42:33 2017
New Revision: 1814258

URL: http://svn.apache.org/viewvc?rev=1814258&view=rev
Log:
bug 61474, github #81: implement updateNamedRanges for ColumnShifter

Modified:
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFColumnShifter.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowColShifter.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowShifter.java

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFColumnShifter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFColumnShifter.java?rev=1814258&r1=1814257&r2=1814258&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFColumnShifter.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFColumnShifter.java Sat Nov  4 07:42:33 2017
@@ -43,10 +43,9 @@ public final class XSSFColumnShifter ext
     /**
      * Updated named ranges
      */
-    @NotImplemented
     @Override
     public void updateNamedRanges(FormulaShifter formulaShifter) {
-        throw new NotImplementedException("updateNamedRanges");
+        XSSFRowColShifter.updateNamedRanges(sheet, formulaShifter);
     }
 
     /**

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowColShifter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowColShifter.java?rev=1814258&r1=1814257&r2=1814258&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowColShifter.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowColShifter.java Sat Nov  4 07:42:33 2017
@@ -18,6 +18,7 @@
 package org.apache.poi.xssf.usermodel.helpers;
 
 import org.apache.poi.ss.formula.*;
+import org.apache.poi.ss.formula.ptg.Ptg;
 import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.ss.usermodel.helpers.BaseRowColShifter;
 import org.apache.poi.ss.util.CellRangeAddress;
@@ -37,6 +38,25 @@ import java.util.List;
 
     private XSSFRowColShifter() { /*no instances for static classes*/}
 
+    /**
+     * Updated named ranges
+     */
+    /*package*/ static void updateNamedRanges(Sheet sheet, FormulaShifter formulaShifter) {
+        Workbook wb = sheet.getWorkbook();
+        XSSFEvaluationWorkbook fpb = XSSFEvaluationWorkbook.create((XSSFWorkbook) wb);
+        for (Name name : wb.getAllNames()) {
+            String formula = name.getRefersToFormula();
+            int sheetIndex = name.getSheetIndex();
+            final int rowIndex = -1; //don't care, named ranges are not allowed to include structured references
+
+            Ptg[] ptgs = FormulaParser.parse(formula, fpb, FormulaType.NAMEDRANGE, sheetIndex, rowIndex);
+            if (formulaShifter.adjustFormula(ptgs, sheetIndex)) {
+                String shiftedFmla = FormulaRenderer.toFormulaString(fpb, ptgs);
+                name.setRefersToFormula(shiftedFmla);
+            }
+        }
+    }
+
     /*package*/ static void updateHyperlinks(Sheet sheet, FormulaShifter formulaShifter) {
         int sheetIndex = sheet.getWorkbook().getSheetIndex(sheet);
         List<? extends Hyperlink> hyperlinkList = sheet.getHyperlinkList();

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowShifter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowShifter.java?rev=1814258&r1=1814257&r2=1814258&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowShifter.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/helpers/XSSFRowShifter.java Sat Nov  4 07:42:33 2017
@@ -65,19 +65,7 @@ public final class XSSFRowShifter extend
      */
     @Override
     public void updateNamedRanges(FormulaShifter formulaShifter) {
-        Workbook wb = sheet.getWorkbook();
-        XSSFEvaluationWorkbook fpb = XSSFEvaluationWorkbook.create((XSSFWorkbook) wb);
-        for (Name name : wb.getAllNames()) {
-            String formula = name.getRefersToFormula();
-            int sheetIndex = name.getSheetIndex();
-            final int rowIndex = -1; //don't care, named ranges are not allowed to include structured references
-
-            Ptg[] ptgs = FormulaParser.parse(formula, fpb, FormulaType.NAMEDRANGE, sheetIndex, rowIndex);
-            if (formulaShifter.adjustFormula(ptgs, sheetIndex)) {
-                String shiftedFmla = FormulaRenderer.toFormulaString(fpb, ptgs);
-                name.setRefersToFormula(shiftedFmla);
-            }
-        }
+        XSSFRowColShifter.updateNamedRanges(sheet, formulaShifter);
     }
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org