]> source.dussan.org Git - poi.git/commitdiff
At least print out correct offset information for PtrRefN if it has offset values set
authorDominik Stadler <centic@apache.org>
Sat, 16 Sep 2017 08:20:17 +0000 (08:20 +0000)
committerDominik Stadler <centic@apache.org>
Sat, 16 Sep 2017 08:20:17 +0000 (08:20 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1808501 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/ss/formula/ptg/RefNPtg.java
src/java/org/apache/poi/ss/formula/ptg/RefPtgBase.java

index 715836f8d68132ea1843f7a3a9c91f50fa060ef5..90d43ca94591c3e2aa9ae3c540cdbd6d4fd1ea2c 100644 (file)
@@ -17,6 +17,7 @@
 
 package org.apache.poi.ss.formula.ptg;
 
+import org.apache.poi.ss.util.CellReference;
 import org.apache.poi.util.LittleEndianInput;
 
 /**
@@ -33,4 +34,23 @@ public final class RefNPtg extends Ref2DPtgBase {
        protected byte getSid() {
                return sid;
        }
+
+    protected final String formatReferenceAsString() {
+        StringBuilder builder = new StringBuilder();
+
+        // The bits in RefNPtg indicate offset, not relative/absolute values!
+        if(isRowRelative()) {
+            builder.append("RowOffset: ").append(getRow()).append(" ");
+        } else {
+            builder.append(getRow()+1);
+        }
+        
+        if(isColRelative()) {
+            builder.append(" ColOffset: ").append(getColumn());
+        } else {
+            builder.append(CellReference.convertNumToColString(getColumn()));
+        }
+        
+        return builder.toString();
+    }
 }
index 5ff9a7a3ca503cf0f2bb3a54a46743db10535059..6d63ed5a46f887250ad55f3eda5d552701e2c810 100644 (file)
@@ -105,7 +105,7 @@ public abstract class RefPtgBase extends OperandPtg {
                return column.getValue(field_2_col);
        }
 
-       protected final String formatReferenceAsString() {
+       protected String formatReferenceAsString() {
                // Only make cell references as needed. Memory is an issue
                CellReference cr = new CellReference(getRow(), getColumn(), !isRowRelative(), !isColRelative());
                return cr.formatAsString();