git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1516980 13f79535-47bb-0310-9956-ffa450edef68tags/REL_3_10_BETA2
@@ -49,8 +49,7 @@ public class FormulaRenderer { | |||
} | |||
Stack<String> stack = new Stack<String>(); | |||
for (int i=0 ; i < ptgs.length; i++) { | |||
Ptg ptg = ptgs[i]; | |||
for (Ptg ptg : ptgs) { | |||
// TODO - what about MemNoMemPtg? | |||
if(ptg instanceof MemAreaPtg || ptg instanceof MemFuncPtg || ptg instanceof MemErrPtg) { | |||
// marks the start of a list of area expressions which will be naturally combined |
@@ -17,10 +17,10 @@ | |||
package org.apache.poi.ss.formula.ptg; | |||
import org.apache.poi.ss.util.AreaReference; | |||
import org.apache.poi.ss.formula.ExternSheetReferenceToken; | |||
import org.apache.poi.ss.formula.FormulaRenderingWorkbook; | |||
import org.apache.poi.ss.formula.WorkbookDependentFormula; | |||
import org.apache.poi.ss.util.AreaReference; | |||
import org.apache.poi.util.LittleEndianInput; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
@@ -61,6 +61,7 @@ public final class Area3DPtg extends AreaPtgBase implements WorkbookDependentFor | |||
setExternSheetIndex(externIdx); | |||
} | |||
@Override | |||
public String toString() { | |||
StringBuffer sb = new StringBuffer(); | |||
sb.append(getClass().getName()); | |||
@@ -72,12 +73,14 @@ public final class Area3DPtg extends AreaPtgBase implements WorkbookDependentFor | |||
return sb.toString(); | |||
} | |||
@Override | |||
public void write(LittleEndianOutput out) { | |||
out.writeByte(sid + getPtgClass()); | |||
out.writeShort(field_1_index_extern_sheet); | |||
writeCoordinates(out); | |||
} | |||
@Override | |||
public int getSize() { | |||
return SIZE; | |||
} | |||
@@ -99,6 +102,7 @@ public final class Area3DPtg extends AreaPtgBase implements WorkbookDependentFor | |||
public String toFormulaString(FormulaRenderingWorkbook book) { | |||
return ExternSheetNameResolver.prependSheetName(book, field_1_index_extern_sheet, formatReferenceAsString()); | |||
} | |||
@Override | |||
public String toFormulaString() { | |||
throw new RuntimeException("3D references need a workbook to determine formula text"); | |||
} |
@@ -39,6 +39,7 @@ public final class AreaPtg extends Area2DPtgBase { | |||
public AreaPtg(AreaReference areaRef) { | |||
super(areaRef); | |||
} | |||
@Override | |||
protected byte getSid() { | |||
return sid; | |||
} |
@@ -17,10 +17,6 @@ | |||
package org.apache.poi.xssf.usermodel; | |||
import org.apache.poi.ss.formula.functions.FreeRefFunction; | |||
import org.apache.poi.ss.formula.ptg.NamePtg; | |||
import org.apache.poi.ss.formula.ptg.NameXPtg; | |||
import org.apache.poi.ss.formula.ptg.Ptg; | |||
import org.apache.poi.ss.SpreadsheetVersion; | |||
import org.apache.poi.ss.formula.EvaluationCell; | |||
import org.apache.poi.ss.formula.EvaluationName; | |||
@@ -30,8 +26,12 @@ import org.apache.poi.ss.formula.FormulaParser; | |||
import org.apache.poi.ss.formula.FormulaParsingWorkbook; | |||
import org.apache.poi.ss.formula.FormulaRenderingWorkbook; | |||
import org.apache.poi.ss.formula.FormulaType; | |||
import org.apache.poi.ss.formula.udf.UDFFinder; | |||
import org.apache.poi.ss.formula.functions.FreeRefFunction; | |||
import org.apache.poi.ss.formula.ptg.NamePtg; | |||
import org.apache.poi.ss.formula.ptg.NameXPtg; | |||
import org.apache.poi.ss.formula.ptg.Ptg; | |||
import org.apache.poi.ss.formula.udf.IndexedUDFFinder; | |||
import org.apache.poi.ss.formula.udf.UDFFinder; | |||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDefinedName; | |||
/** | |||
@@ -67,7 +67,7 @@ public final class XSSFEvaluationWorkbook implements FormulaRenderingWorkbook, E | |||
* @return the external sheet index of the sheet with the given internal | |||
* index. Used by some of the more obscure formula and named range things. | |||
* Fairly easy on XSSF (we think...) since the internal and external | |||
* indicies are the same | |||
* indices are the same | |||
*/ | |||
private int convertToExternalSheetIndex(int sheetIndex) { | |||
return sheetIndex; |