git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@648303 13f79535-47bb-0310-9956-ffa450edef68tags/REL_3_0_3_BETA1
@@ -37,6 +37,7 @@ | |||
<!-- Don't forget to update status.xml too! --> | |||
<release version="3.0.3-beta1" date="2008-04-??"> | |||
<action dev="POI-DEVELOPERS" type="fix">Update the formula parser code to use a HSSFWorkbook, rather than the low level model.Workbook, to make things cleaner and make supporting XSSF formulas in future much easier</action> | |||
<action dev="POI-DEVELOPERS" type="fix">Fix the logger used by POIFSFileSystem, so that commons-logging isn't required when not used</action> | |||
<action dev="POI-DEVELOPERS" type="add">Update HSLFSlideShow and HSSFWorkbook to take advantage of POIFS updates, and allow reading embeded documents</action> | |||
<action dev="POI-DEVELOPERS" type="add">Improve how POIFS works with directory entries, and update HWPFDocument to support reading an embeded word document</action> |
@@ -34,6 +34,7 @@ | |||
<!-- Don't forget to update changes.xml too! --> | |||
<changes> | |||
<release version="3.0.3-beta1" date="2008-04-??"> | |||
<action dev="POI-DEVELOPERS" type="fix">Update the formula parser code to use a HSSFWorkbook, rather than the low level model.Workbook, to make things cleaner and make supporting XSSF formulas in future much easier</action> | |||
<action dev="POI-DEVELOPERS" type="fix">Fix the logger used by POIFSFileSystem, so that commons-logging isn't required when not used</action> | |||
<action dev="POI-DEVELOPERS" type="add">Update HSLFSlideShow and HSSFWorkbook to take advantage of POIFS updates, and allow reading embeded documents</action> | |||
<action dev="POI-DEVELOPERS" type="add">Improve how POIFS works with directory entries, and update HWPFDocument to support reading an embeded word document</action> |
@@ -32,6 +32,7 @@ import java.util.List; | |||
import org.apache.poi.poifs.filesystem.POIFSFileSystem; | |||
import org.apache.poi.hssf.record.*; | |||
import org.apache.poi.hssf.record.formula.*; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.model.*; | |||
/** | |||
@@ -99,7 +100,7 @@ public class FormulaViewer | |||
StringBuffer buf = new StringBuffer(); | |||
if (token instanceof ExpPtg) return; | |||
buf.append(name=((OperationPtg) token).toFormulaString((Workbook)null)); | |||
buf.append(name=((OperationPtg) token).toFormulaString((HSSFWorkbook)null)); | |||
buf.append(sep); | |||
switch (token.getPtgClass()) { | |||
case Ptg.CLASS_REF : | |||
@@ -168,7 +169,7 @@ public class FormulaViewer | |||
StringBuffer buf = new StringBuffer(); | |||
for (int i=0;i<numptgs;i++) { | |||
token = (Ptg) tokens.get(i); | |||
buf.append( token.toFormulaString((Workbook)null)); | |||
buf.append( token.toFormulaString((HSSFWorkbook)null)); | |||
switch (token.getPtgClass()) { | |||
case Ptg.CLASS_REF : | |||
buf.append("(R)"); | |||
@@ -188,7 +189,7 @@ public class FormulaViewer | |||
private String composeFormula(FormulaRecord record) | |||
{ | |||
return org.apache.poi.hssf.model.FormulaParser.toFormulaString((Workbook)null,record.getParsedExpression()); | |||
return org.apache.poi.hssf.model.FormulaParser.toFormulaString((HSSFWorkbook)null,record.getParsedExpression()); | |||
} | |||
/** |
@@ -27,6 +27,7 @@ import java.util.regex.Pattern; | |||
import org.apache.poi.hssf.record.formula.*; | |||
import org.apache.poi.hssf.record.formula.function.FunctionMetadata; | |||
import org.apache.poi.hssf.record.formula.function.FunctionMetadataRegistry; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
/** | |||
* This class parses a formula string into a List of tokens in RPN order. | |||
@@ -86,7 +87,7 @@ public final class FormulaParser { | |||
*/ | |||
private char look; | |||
private Workbook book; | |||
private HSSFWorkbook book; | |||
/** | |||
@@ -101,14 +102,14 @@ public final class FormulaParser { | |||
* model.Workbook, then use the convenience method on | |||
* usermodel.HSSFFormulaEvaluator | |||
*/ | |||
public FormulaParser(String formula, Workbook book){ | |||
public FormulaParser(String formula, HSSFWorkbook book){ | |||
formulaString = formula; | |||
pointer=0; | |||
this.book = book; | |||
formulaLength = formulaString.length(); | |||
} | |||
public static Ptg[] parse(String formula, Workbook book) { | |||
public static Ptg[] parse(String formula, HSSFWorkbook book) { | |||
FormulaParser fp = new FormulaParser(formula, book); | |||
fp.parse(); | |||
return fp.getRPNPtg(); | |||
@@ -251,7 +252,7 @@ public final class FormulaParser { | |||
Match('!'); | |||
String sheetName = name; | |||
String first = GetName(); | |||
short externIdx = book.checkExternSheet(book.getSheetIndex(sheetName)); | |||
short externIdx = book.getExternalSheetIndex(book.getSheetIndex(sheetName)); | |||
if (look == ':') { | |||
Match(':'); | |||
String second=GetName(); | |||
@@ -282,9 +283,9 @@ public final class FormulaParser { | |||
return new ReferencePtg(name); | |||
} | |||
for(int i = 0; i < book.getNumNames(); i++) { | |||
for(int i = 0; i < book.getNumberOfNames(); i++) { | |||
// named range name matching is case insensitive | |||
if(book.getNameRecord(i).getNameText().equalsIgnoreCase(name)) { | |||
if(book.getNameAt(i).getNameName().equalsIgnoreCase(name)) { | |||
return new NamePtg(name, book); | |||
} | |||
} | |||
@@ -926,7 +927,7 @@ end; | |||
* @param lptgs list of Ptg, can be null or empty | |||
* @return a human readable String | |||
*/ | |||
public static String toFormulaString(Workbook book, List lptgs) { | |||
public static String toFormulaString(HSSFWorkbook book, List lptgs) { | |||
String retval = null; | |||
if (lptgs == null || lptgs.size() == 0) return "#NAME"; | |||
Ptg[] ptgs = new Ptg[lptgs.size()]; | |||
@@ -952,7 +953,7 @@ end; | |||
* @param ptgs array of Ptg, can be null or empty | |||
* @return a human readable String | |||
*/ | |||
public static String toFormulaString(Workbook book, Ptg[] ptgs) { | |||
public static String toFormulaString(HSSFWorkbook book, Ptg[] ptgs) { | |||
if (ptgs == null || ptgs.length == 0) { | |||
// TODO - what is the justification for returning "#NAME" (which is not "#NAME?", btw) | |||
return "#NAME"; |
@@ -26,6 +26,7 @@ import org.apache.poi.hssf.record.cf.BorderFormatting; | |||
import org.apache.poi.hssf.record.cf.FontFormatting; | |||
import org.apache.poi.hssf.record.cf.PatternFormatting; | |||
import org.apache.poi.hssf.record.formula.Ptg; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.util.BitField; | |||
import org.apache.poi.util.BitFieldFactory; | |||
import org.apache.poi.util.LittleEndian; | |||
@@ -152,7 +153,7 @@ public final class CFRuleRecord extends Record | |||
/** | |||
* Creates a new comparison operation rule | |||
*/ | |||
public static CFRuleRecord create(Workbook workbook, String formulaText) { | |||
public static CFRuleRecord create(HSSFWorkbook workbook, String formulaText) { | |||
Ptg[] formula1 = parseFormula(formulaText, workbook); | |||
return new CFRuleRecord(CONDITION_TYPE_FORMULA, ComparisonOperator.NO_COMPARISON, | |||
formula1, null); | |||
@@ -160,7 +161,7 @@ public final class CFRuleRecord extends Record | |||
/** | |||
* Creates a new comparison operation rule | |||
*/ | |||
public static CFRuleRecord create(Workbook workbook, byte comparisonOperation, | |||
public static CFRuleRecord create(HSSFWorkbook workbook, byte comparisonOperation, | |||
String formulaText1, String formulaText2) { | |||
Ptg[] formula1 = parseFormula(formulaText1, workbook); | |||
Ptg[] formula2 = parseFormula(formulaText2, workbook); | |||
@@ -651,7 +652,7 @@ public final class CFRuleRecord extends Record | |||
/** | |||
* @return <code>null</code> if <tt>formula</tt> was null. | |||
*/ | |||
private static Ptg[] parseFormula(String formula, Workbook workbook) | |||
private static Ptg[] parseFormula(String formula, HSSFWorkbook workbook) | |||
{ | |||
if(formula == null) { | |||
return null; |
@@ -18,12 +18,17 @@ | |||
package org.apache.poi.hssf.record; | |||
import java.util.Iterator; | |||
import java.util.List; | |||
import java.util.Stack; | |||
import java.util.Iterator; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.record.formula.*; | |||
import org.apache.poi.hssf.record.formula.Area3DPtg; | |||
import org.apache.poi.hssf.record.formula.DeletedArea3DPtg; | |||
import org.apache.poi.hssf.record.formula.DeletedRef3DPtg; | |||
import org.apache.poi.hssf.record.formula.Ptg; | |||
import org.apache.poi.hssf.record.formula.Ref3DPtg; | |||
import org.apache.poi.hssf.record.formula.UnionPtg; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.util.AreaReference; | |||
import org.apache.poi.hssf.util.RangeAddress; | |||
import org.apache.poi.util.HexDump; | |||
@@ -645,7 +650,7 @@ public class NameRecord extends Record { | |||
/** gets the reference , the area only (range) | |||
* @return area reference | |||
*/ | |||
public String getAreaReference(Workbook book){ | |||
public String getAreaReference(HSSFWorkbook book){ | |||
if (field_13_name_definition == null || field_13_name_definition.isEmpty()) return "Error"; | |||
Ptg ptg = (Ptg) field_13_name_definition.peek(); | |||
String result = ""; | |||
@@ -679,7 +684,7 @@ public class NameRecord extends Record { | |||
* return an empty string if nothing is possible | |||
* for it. | |||
*/ | |||
private String getAreaRefString(Ptg ptg,Workbook book) { | |||
private String getAreaRefString(Ptg ptg,HSSFWorkbook book) { | |||
if (ptg.getClass() == Area3DPtg.class){ | |||
return ptg.toFormulaString(book); | |||
} else if (ptg.getClass() == Ref3DPtg.class){ |
@@ -17,7 +17,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.formula.function.FunctionMetadata; | |||
import org.apache.poi.hssf.record.formula.function.FunctionMetadataRegistry; | |||
@@ -73,7 +73,7 @@ public abstract class AbstractFunctionPtg extends OperationPtg { | |||
return field_2_fnc_index == FUNCTION_INDEX_EXTERNAL; | |||
} | |||
public String toFormulaString(Workbook book) { | |||
public String toFormulaString(HSSFWorkbook book) { | |||
return getName(); | |||
} | |||
@@ -23,7 +23,7 @@ | |||
*/ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -75,7 +75,7 @@ public class AddPtg | |||
} | |||
/** Implementation of method from Ptg */ | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return "+"; | |||
} |
@@ -17,7 +17,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
import org.apache.poi.hssf.util.AreaReference; | |||
import org.apache.poi.hssf.util.CellReference; | |||
@@ -273,7 +273,7 @@ public class Area3DPtg extends Ptg implements AreaI | |||
* @return text representation of this area reference that can be used in text | |||
* formulas. The sheet name will get properly delimited if required. | |||
*/ | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
// First do the sheet name | |||
StringBuffer retval = new StringBuffer(); |
@@ -29,7 +29,7 @@ import org.apache.poi.util.BitField; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
import org.apache.poi.hssf.util.AreaReference; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
/** | |||
* Specifies a rectangular area of cells A1:A4 for instance. |
@@ -20,7 +20,7 @@ package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.util.LittleEndian; | |||
import org.apache.poi.util.BitField; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -66,7 +66,7 @@ public class AreaErrPtg extends AreaPtg | |||
array[offset] = (byte) (sid + ptgClass); | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return "#REF!"; | |||
} |
@@ -29,7 +29,7 @@ import org.apache.poi.util.BitField; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
import org.apache.poi.hssf.util.AreaReference; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
/** | |||
* Specifies a rectangular area of cells A1:A4 for instance. | |||
@@ -58,7 +58,7 @@ public class AreaNAPtg | |||
return "AreaNAPtg"; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
throw new RuntimeException("Coding Error: This method should never be called. This ptg should be converted"); | |||
} |
@@ -29,7 +29,7 @@ import org.apache.poi.util.BitField; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
import org.apache.poi.hssf.util.AreaReference; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
/** | |||
* Specifies a rectangular area of cells A1:A4 for instance. | |||
@@ -61,7 +61,7 @@ public class AreaNPtg | |||
return "AreaNPtg"; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
throw new RuntimeException("Coding Error: This method should never be called. This ptg should be converted"); | |||
} |
@@ -29,7 +29,7 @@ import org.apache.poi.util.BitField; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
import org.apache.poi.hssf.util.AreaReference; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
/** | |||
* Specifies a rectangular area of cells A1:A4 for instance. | |||
@@ -59,7 +59,7 @@ public class AreaNVPtg | |||
return "AreaNVPtg"; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
throw new RuntimeException("Coding Error: This method should never be called. This ptg should be converted"); | |||
} |
@@ -24,7 +24,7 @@ import org.apache.poi.util.BitFieldFactory; | |||
import org.apache.poi.hssf.util.AreaReference; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -303,11 +303,11 @@ public class AreaPtg | |||
field_4_last_column = column; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return toFormulaString(this, book); | |||
} | |||
protected static String toFormulaString(AreaI area, Workbook book) { | |||
protected static String toFormulaString(AreaI area, HSSFWorkbook book) { | |||
CellReference topLeft = new CellReference(area.getFirstRow(),area.getFirstColumn(),!area.isFirstRowRelative(),!area.isFirstColRelative()); | |||
CellReference botRight = new CellReference(area.getLastRow(),area.getLastColumn(),!area.isLastRowRelative(),!area.isLastColRelative()); | |||
@@ -29,7 +29,7 @@ import org.apache.poi.util.BitField; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
import org.apache.poi.hssf.util.AreaReference; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
/** | |||
* Specifies a rectangular area of cells A1:A4 for instance. |
@@ -23,7 +23,7 @@ import org.apache.poi.util.BitFieldFactory; | |||
import org.apache.poi.util.StringUtil; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordFormatException; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
import org.apache.poi.hssf.record.SSTRecord; | |||
@@ -198,7 +198,7 @@ public class ArrayPtg extends Ptg | |||
return size; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
StringBuffer b = new StringBuffer(); | |||
b.append("{"); |
@@ -23,7 +23,7 @@ import org.apache.poi.util.BitFieldFactory; | |||
import org.apache.poi.util.StringUtil; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordFormatException; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
import org.apache.poi.hssf.record.SSTRecord; |
@@ -23,7 +23,7 @@ import org.apache.poi.util.BitFieldFactory; | |||
import org.apache.poi.util.StringUtil; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordFormatException; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
import org.apache.poi.hssf.record.SSTRecord; |
@@ -18,7 +18,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
import org.apache.poi.util.LittleEndian; | |||
@@ -209,11 +209,11 @@ public final class AttrPtg extends OperationPtg { | |||
if(space.isSet(field_1_options)) { | |||
return operands[ 0 ]; | |||
} else if (optiIf.isSet(field_1_options)) { | |||
return toFormulaString((Workbook)null) + "(" + operands[ 0 ] +")"; | |||
return toFormulaString((HSSFWorkbook)null) + "(" + operands[ 0 ] +")"; | |||
} else if (optGoto.isSet(field_1_options)) { | |||
return toFormulaString((Workbook)null) + operands[0]; //goto isn't a real formula element should not show up | |||
return toFormulaString((HSSFWorkbook)null) + operands[0]; //goto isn't a real formula element should not show up | |||
} else { | |||
return toFormulaString((Workbook)null) + "(" + operands[ 0 ] + ")"; | |||
return toFormulaString((HSSFWorkbook)null) + "(" + operands[ 0 ] + ")"; | |||
} | |||
} | |||
@@ -228,7 +228,7 @@ public final class AttrPtg extends OperationPtg { | |||
return -1; | |||
} | |||
public String toFormulaString(Workbook book) { | |||
public String toFormulaString(HSSFWorkbook book) { | |||
if(semiVolatile.isSet(field_1_options)) { | |||
return "ATTR(semiVolatile)"; | |||
} |
@@ -17,7 +17,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -70,7 +70,7 @@ public class BoolPtg | |||
return SIZE; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return field_1_value ? "TRUE" : "FALSE"; | |||
} |
@@ -18,7 +18,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -64,7 +64,7 @@ public class ConcatPtg | |||
return 2; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return CONCAT; | |||
} |
@@ -18,7 +18,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -65,7 +65,7 @@ public class DividePtg | |||
return 2; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return "/"; | |||
} | |||
@@ -74,7 +74,7 @@ public class DividePtg | |||
StringBuffer buffer = new StringBuffer(); | |||
buffer.append(operands[ 0 ]); | |||
buffer.append(toFormulaString((Workbook)null)); | |||
buffer.append(toFormulaString((HSSFWorkbook)null)); | |||
buffer.append(operands[ 1 ]); | |||
return buffer.toString(); | |||
} |
@@ -18,7 +18,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -64,7 +64,7 @@ public class EqualPtg | |||
return 2; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return "="; | |||
} | |||
@@ -74,7 +74,7 @@ public class EqualPtg | |||
buffer.append(operands[ 0 ]); | |||
buffer.append(toFormulaString((Workbook)null)); | |||
buffer.append(toFormulaString((HSSFWorkbook)null)); | |||
buffer.append(operands[ 1 ]); | |||
return buffer.toString(); | |||
} |
@@ -19,7 +19,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
import org.apache.poi.hssf.usermodel.HSSFErrorConstants; | |||
@@ -70,7 +70,7 @@ public final class ErrPtg extends Ptg { | |||
array[offset + 1] = (byte)field_1_error_code; | |||
} | |||
public String toFormulaString(Workbook book) { | |||
public String toFormulaString(HSSFWorkbook book) { | |||
return HSSFErrorConstants.getText(field_1_error_code); | |||
} | |||
@@ -18,7 +18,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordFormatException; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
@@ -73,7 +73,7 @@ public class ExpPtg | |||
return field_2_first_col; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
throw new RecordFormatException("Coding Error: Expected ExpPtg to be converted from Shared to Non-Shared Formula by ValueRecordsAggregate, but it wasn't"); | |||
} |
@@ -19,7 +19,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
@@ -67,7 +67,7 @@ public class GreaterEqualPtg | |||
return 2; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return ">="; | |||
} | |||
@@ -77,7 +77,7 @@ public class GreaterEqualPtg | |||
buffer.append(operands[ 0 ]); | |||
buffer.append(toFormulaString((Workbook)null)); | |||
buffer.append(toFormulaString((HSSFWorkbook)null)); | |||
buffer.append(operands[ 1 ]); | |||
return buffer.toString(); |
@@ -25,7 +25,7 @@ package org.apache.poi.hssf.record.formula; | |||
import java.util.List; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -97,7 +97,7 @@ public class GreaterThanPtg | |||
* Implementation of method from Ptg | |||
* @param book the Sheet References | |||
*/ | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return this.GREATERTHAN; | |||
} |
@@ -18,7 +18,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.util.LittleEndian; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -72,7 +72,7 @@ public final class IntPtg extends Ptg { | |||
return SIZE; | |||
} | |||
public String toFormulaString(Workbook book) { | |||
public String toFormulaString(HSSFWorkbook book) { | |||
return String.valueOf(getValue()); | |||
} | |||
public byte getDefaultOperandClass() { |
@@ -17,7 +17,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -59,7 +59,7 @@ public class IntersectionPtg extends OperationPtg | |||
} | |||
/** Implementation of method from Ptg */ | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return " "; | |||
} |
@@ -20,7 +20,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
@@ -68,7 +68,7 @@ public class LessEqualPtg | |||
return 2; | |||
} | |||
public String toFormulaString( Workbook book ) | |||
public String toFormulaString( HSSFWorkbook book ) | |||
{ | |||
return "<="; | |||
} | |||
@@ -77,7 +77,7 @@ public class LessEqualPtg | |||
{ | |||
StringBuffer buffer = new StringBuffer(); | |||
buffer.append( operands[0] ); | |||
buffer.append( toFormulaString( (Workbook) null ) ); | |||
buffer.append( toFormulaString( (HSSFWorkbook) null ) ); | |||
buffer.append( operands[1] ); | |||
return buffer.toString(); | |||
} |
@@ -27,7 +27,7 @@ package org.apache.poi.hssf.record.formula; | |||
import java.util.List; | |||
//POI | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -106,7 +106,7 @@ public class LessThanPtg | |||
* Implementation of method from Ptg | |||
* @param book the Sheet References | |||
*/ | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return this.LESSTHAN; | |||
} |
@@ -25,7 +25,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.util.LittleEndian; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -83,7 +83,7 @@ public class MemAreaPtg | |||
return SIZE; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return ""; // TODO: Not sure how to format this. -- DN | |||
} |
@@ -25,7 +25,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.util.LittleEndian; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -57,7 +57,7 @@ public class MemErrPtg | |||
array[offset] = (byte) (sid + ptgClass); | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return "ERR#"; | |||
} |
@@ -24,7 +24,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.util.LittleEndian; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -60,7 +60,7 @@ public class MemFuncPtg extends ControlPtg | |||
LittleEndian.putShort( array, offset + 1, (short)field_1_len_ref_subexpression ); | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return ""; | |||
} |
@@ -17,7 +17,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -55,7 +55,7 @@ public class MissingArgPtg | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return " "; | |||
} |
@@ -16,7 +16,7 @@ | |||
==================================================================== */ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -68,7 +68,7 @@ public class MultiplyPtg | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return "*"; | |||
} | |||
@@ -77,9 +77,9 @@ public class MultiplyPtg | |||
{ | |||
StringBuffer buffer = new StringBuffer(); | |||
buffer.append(operands[ 0 ].toFormulaString((Workbook)null)); | |||
buffer.append(operands[ 0 ].toFormulaString((HSSFWorkbook)null)); | |||
buffer.append("*"); | |||
buffer.append(operands[ 1 ].toFormulaString((Workbook)null)); | |||
buffer.append(operands[ 1 ].toFormulaString((HSSFWorkbook)null)); | |||
return buffer.toString(); | |||
} | |||
@@ -87,7 +87,7 @@ public class MultiplyPtg | |||
StringBuffer buffer = new StringBuffer(); | |||
buffer.append(operands[ 0 ]); | |||
buffer.append(toFormulaString((Workbook)null)); | |||
buffer.append(toFormulaString((HSSFWorkbook)null)); | |||
buffer.append(operands[ 1 ]); | |||
return buffer.toString(); | |||
} |
@@ -18,7 +18,8 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.util.LittleEndian; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFName; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.NameRecord; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
@@ -48,26 +49,24 @@ public class NamePtg | |||
* in the workbook. The search for the name record is case insensitive. If it is not found, | |||
* it gets created. | |||
*/ | |||
public NamePtg(String name, Workbook book) { | |||
public NamePtg(String name, HSSFWorkbook book) { | |||
field_1_label_index = (short)(1+getOrCreateNameRecord(book, name)); // convert to 1-based | |||
} | |||
/** | |||
* @return zero based index of the found or newly created defined name record. | |||
*/ | |||
private static final int getOrCreateNameRecord(Workbook book, String name) { | |||
// perhaps this logic belongs in Workbook | |||
int countNames = book.getNumNames(); | |||
NameRecord rec; | |||
private static final int getOrCreateNameRecord(HSSFWorkbook book, String name) { | |||
// perhaps this logic belongs in Workbook? | |||
int countNames = book.getNumberOfNames(); | |||
for (int i = 0; i < countNames; i++) { | |||
rec = book.getNameRecord(i); | |||
if (name.equalsIgnoreCase(rec.getNameText())) { | |||
if(name.equalsIgnoreCase( book.getNameName(i) )) { | |||
return i; | |||
} | |||
} | |||
rec = new NameRecord(); | |||
rec.setNameText(name); | |||
rec.setNameTextLength((byte) name.length()); | |||
book.addName(rec); | |||
HSSFName nameObj = book.createName(); | |||
nameObj.setNameName(name); | |||
return countNames; | |||
} | |||
@@ -100,10 +99,9 @@ public class NamePtg | |||
return SIZE; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
NameRecord rec = book.getNameRecord(field_1_label_index - 1); | |||
return rec.getNameText(); | |||
return book.getNameName(field_1_label_index - 1); | |||
} | |||
public byte getDefaultOperandClass() {return Ptg.CLASS_REF;} |
@@ -18,7 +18,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.util.LittleEndian; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -61,7 +61,7 @@ public final class NameXPtg extends Ptg { | |||
return SIZE; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
// -1 to convert definedNameIndex from 1-based to zero-based | |||
return book.resolveNameXText(field_1_ixals, field_2_ilbl-1); |
@@ -18,7 +18,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -64,7 +64,7 @@ public class NotEqualPtg | |||
return 2; | |||
} | |||
public String toFormulaString( Workbook book ) | |||
public String toFormulaString( HSSFWorkbook book ) | |||
{ | |||
return "<>"; | |||
} | |||
@@ -75,7 +75,7 @@ public class NotEqualPtg | |||
buffer.append( operands[0] ); | |||
buffer.append( toFormulaString( (Workbook) null ) ); | |||
buffer.append( toFormulaString( (HSSFWorkbook) null ) ); | |||
buffer.append( operands[1] ); | |||
return buffer.toString(); |
@@ -18,7 +18,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.util.LittleEndian; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -78,7 +78,7 @@ public class NumberPtg | |||
return SIZE; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return "" + getValue(); | |||
} |
@@ -20,7 +20,7 @@ package org.apache.poi.hssf.record.formula; | |||
import java.util.List; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -71,7 +71,7 @@ public class ParenthesisPtg | |||
return 1; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return "()"; | |||
} |
@@ -23,7 +23,7 @@ | |||
*/ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -74,7 +74,7 @@ public class PercentPtg | |||
} | |||
/** Implementation of method from Ptg */ | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return "%"; | |||
} |
@@ -19,7 +19,7 @@ package org.apache.poi.hssf.record.formula; | |||
import java.util.List; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -66,7 +66,7 @@ public class PowerPtg | |||
return 2; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return "^"; | |||
} | |||
@@ -76,7 +76,7 @@ public class PowerPtg | |||
buffer.append(operands[ 0 ]); | |||
buffer.append(toFormulaString((Workbook)null)); | |||
buffer.append(toFormulaString((HSSFWorkbook)null)); | |||
buffer.append(operands[ 1 ]); | |||
return buffer.toString(); | |||
} |
@@ -21,7 +21,7 @@ import java.util.List; | |||
import java.util.ArrayList; | |||
import java.util.Stack; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -418,7 +418,7 @@ public abstract class Ptg | |||
/** | |||
* return a string representation of this token alone | |||
*/ | |||
public abstract String toFormulaString(Workbook book); | |||
public abstract String toFormulaString(HSSFWorkbook book); | |||
/** | |||
* dump a debug representation (hexdump) to a string | |||
*/ |
@@ -17,7 +17,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -59,7 +59,7 @@ public class RangePtg extends OperationPtg | |||
} | |||
/** Implementation of method from Ptg */ | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return ":"; | |||
} |
@@ -18,7 +18,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.util.RangeAddress; | |||
@@ -162,8 +162,8 @@ public class Ref3DPtg extends Ptg { | |||
} | |||
// TODO - find a home for this method | |||
// There is already a method on Workbook called getSheetName but it seems to do something different. | |||
static String getSheetName(Workbook book, int externSheetIndex) { | |||
// There is already a method on HSSFWorkbook called getSheetName but it seems to do something different. | |||
static String getSheetName(HSSFWorkbook book, int externSheetIndex) { | |||
// TODO - there are 3 ways this method can return null. Is each valid? | |||
if (book == null) { | |||
return null; | |||
@@ -179,7 +179,7 @@ public class Ref3DPtg extends Ptg { | |||
* @return text representation of this cell reference that can be used in text | |||
* formulas. The sheet name will get properly delimited if required. | |||
*/ | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
StringBuffer retval = new StringBuffer(); | |||
String sheetName = getSheetName(book, field_1_index_extern_sheet); |
@@ -21,7 +21,7 @@ import org.apache.poi.util.LittleEndian; | |||
import org.apache.poi.util.BitField; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -74,7 +74,7 @@ public class RefErrorPtg extends Ptg | |||
return SIZE; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
//TODO -- should we store a cellreference instance in this ptg?? but .. memory is an issue, i believe! | |||
return "#REF!"; |
@@ -28,7 +28,7 @@ import org.apache.poi.util.BitField; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
/** | |||
* RefNAPtg | |||
@@ -57,7 +57,7 @@ public class RefNAPtg extends ReferencePtg | |||
return "RefNAPtg"; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
throw new RuntimeException("Coding Error: This method should never be called. This ptg should be converted"); | |||
} |
@@ -27,7 +27,7 @@ import org.apache.poi.util.BitField; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
/** | |||
* RefNPtg | |||
@@ -58,7 +58,7 @@ public class RefNPtg extends ReferencePtg | |||
return "RefNPtg"; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
throw new RuntimeException("Coding Error: This method should never be called. This ptg should be converted"); | |||
} |
@@ -23,7 +23,7 @@ import org.apache.poi.util.BitField; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
/** | |||
* RefNVPtg | |||
@@ -54,7 +54,7 @@ public class RefNVPtg extends ReferencePtg | |||
return "RefNVPtg"; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
throw new RuntimeException("Coding Error: This method should never be called. This ptg should be converted"); | |||
} |
@@ -22,7 +22,7 @@ import org.apache.poi.util.BitField; | |||
import org.apache.poi.util.BitFieldFactory; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -176,7 +176,7 @@ public class ReferencePtg extends Ptg { | |||
return SIZE; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
//TODO -- should we store a cellreference instance in this ptg?? but .. memory is an issue, i believe! | |||
return (new CellReference(getRowAsInt(),getColumn(),!isRowRelative(),!isColRelative())).formatAsString(); |
@@ -17,7 +17,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.util.BitField; | |||
import org.apache.poi.util.BitFieldFactory; | |||
import org.apache.poi.util.StringUtil; | |||
@@ -109,7 +109,7 @@ public class StringPtg | |||
} | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return "\""+getValue()+"\""; | |||
} |
@@ -18,7 +18,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import java.util.List; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -63,7 +63,7 @@ public class SubtractPtg | |||
return 2; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return "-"; | |||
} |
@@ -19,7 +19,7 @@ package org.apache.poi.hssf.record.formula; | |||
import java.util.List; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -69,7 +69,7 @@ public class UnaryMinusPtg extends OperationPtg | |||
} | |||
/** Implementation of method from Ptg */ | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return "+"; | |||
} |
@@ -19,7 +19,7 @@ package org.apache.poi.hssf.record.formula; | |||
import java.util.List; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -69,7 +69,7 @@ public class UnaryPlusPtg extends OperationPtg | |||
} | |||
/** Implementation of method from Ptg */ | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return "+"; | |||
} |
@@ -17,7 +17,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -59,7 +59,7 @@ public class UnionPtg extends OperationPtg | |||
} | |||
/** Implementation of method from Ptg */ | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return ","; | |||
} |
@@ -16,7 +16,7 @@ | |||
==================================================================== */ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.record.RecordInputStream; | |||
/** | |||
@@ -51,7 +51,7 @@ public class UnknownPtg | |||
return size; | |||
} | |||
public String toFormulaString(Workbook book) | |||
public String toFormulaString(HSSFWorkbook book) | |||
{ | |||
return "UNKNOWN"; | |||
} |
@@ -113,7 +113,7 @@ public class HSSFCell | |||
private int cellType; | |||
private HSSFRichTextString stringValue; | |||
private short encoding = ENCODING_UNCHANGED; | |||
private Workbook book; | |||
private HSSFWorkbook book; | |||
private Sheet sheet; | |||
private CellValueRecordInterface record; | |||
private HSSFComment comment; | |||
@@ -136,7 +136,7 @@ public class HSSFCell | |||
*/ | |||
//protected HSSFCell(Workbook book, Sheet sheet, short row, short col) | |||
protected HSSFCell(Workbook book, Sheet sheet, int row, short col) | |||
protected HSSFCell(HSSFWorkbook book, Sheet sheet, int row, short col) | |||
{ | |||
checkBounds(col); | |||
stringValue = null; | |||
@@ -165,7 +165,7 @@ public class HSSFCell | |||
*/ | |||
//protected HSSFCell(Workbook book, Sheet sheet, short row, short col, | |||
protected HSSFCell(Workbook book, Sheet sheet, int row, short col, | |||
protected HSSFCell(HSSFWorkbook book, Sheet sheet, int row, short col, | |||
int type) | |||
{ | |||
checkBounds(col); | |||
@@ -188,7 +188,7 @@ public class HSSFCell | |||
*/ | |||
//protected HSSFCell(Workbook book, Sheet sheet, short row, | |||
protected HSSFCell(Workbook book, Sheet sheet, int row, | |||
protected HSSFCell(HSSFWorkbook book, Sheet sheet, int row, | |||
CellValueRecordInterface cval) | |||
{ | |||
record = cval; | |||
@@ -199,7 +199,7 @@ public class HSSFCell | |||
switch (cellType) | |||
{ | |||
case CELL_TYPE_STRING : | |||
stringValue = new HSSFRichTextString(book, (LabelSSTRecord ) cval); | |||
stringValue = new HSSFRichTextString(book.getWorkbook(), (LabelSSTRecord ) cval); | |||
break; | |||
case CELL_TYPE_BLANK : | |||
@@ -209,7 +209,7 @@ public class HSSFCell | |||
stringValue=new HSSFRichTextString(((FormulaRecordAggregate) cval).getStringValue()); | |||
break; | |||
} | |||
ExtendedFormatRecord xf = book.getExFormatAt(cval.getXFIndex()); | |||
ExtendedFormatRecord xf = book.getWorkbook().getExFormatAt(cval.getXFIndex()); | |||
setCellStyle(new HSSFCellStyle(( short ) cval.getXFIndex(), xf, book)); | |||
} | |||
@@ -265,7 +265,7 @@ public class HSSFCell | |||
* @return | |||
*/ | |||
protected Workbook getBoundWorkbook() { | |||
return book; | |||
return book.getWorkbook(); | |||
} | |||
/** | |||
@@ -411,9 +411,9 @@ public class HSSFCell | |||
// jmh { | |||
// jmh str.setUncompressedUnicode(); | |||
// jmh } | |||
sst = book.addSSTString(str); | |||
sst = book.getWorkbook().addSSTString(str); | |||
lrec.setSSTIndex(sst); | |||
getRichStringCellValue().setUnicodeString(book.getSSTString(sst)); | |||
getRichStringCellValue().setUnicodeString(book.getWorkbook().getSSTString(sst)); | |||
} | |||
} | |||
record = lrec; | |||
@@ -540,7 +540,7 @@ public class HSSFCell | |||
*/ | |||
public void setCellValue(Date value) | |||
{ | |||
setCellValue(HSSFDateUtil.getExcelDate(value, this.book.isUsing1904DateWindowing())); | |||
setCellValue(HSSFDateUtil.getExcelDate(value, this.book.getWorkbook().isUsing1904DateWindowing())); | |||
} | |||
/** | |||
@@ -560,7 +560,7 @@ public class HSSFCell | |||
*/ | |||
public void setCellValue(Calendar value) | |||
{ | |||
setCellValue( HSSFDateUtil.getExcelDate(value, this.book.isUsing1904DateWindowing()) ); | |||
setCellValue( HSSFDateUtil.getExcelDate(value, this.book.getWorkbook().isUsing1904DateWindowing()) ); | |||
} | |||
/** | |||
@@ -614,11 +614,11 @@ public class HSSFCell | |||
int index = 0; | |||
UnicodeString str = value.getUnicodeString(); | |||
index = book.addSSTString(str); | |||
index = book.getWorkbook().addSSTString(str); | |||
(( LabelSSTRecord ) record).setSSTIndex(index); | |||
stringValue = value; | |||
stringValue.setWorkbookReferences(book, (( LabelSSTRecord ) record)); | |||
stringValue.setUnicodeString(book.getSSTString(index)); | |||
stringValue.setWorkbookReferences(book.getWorkbook(), (( LabelSSTRecord ) record)); | |||
stringValue.setUnicodeString(book.getWorkbook().getSSTString(index)); | |||
} | |||
public void setCellFormula(String formula) { | |||
@@ -728,7 +728,7 @@ public class HSSFCell | |||
"You cannot get a date value from an error cell"); | |||
} | |||
double value=this.getNumericCellValue(); | |||
if (book.isUsing1904DateWindowing()) { | |||
if (book.getWorkbook().isUsing1904DateWindowing()) { | |||
return HSSFDateUtil.getJavaDate(value,true); | |||
} | |||
else { | |||
@@ -913,7 +913,7 @@ public class HSSFCell | |||
public HSSFCellStyle getCellStyle() | |||
{ | |||
short styleIndex=record.getXFIndex(); | |||
ExtendedFormatRecord xf = book.getExFormatAt(styleIndex); | |||
ExtendedFormatRecord xf = book.getWorkbook().getExFormatAt(styleIndex); | |||
return new HSSFCellStyle(styleIndex, xf, book); | |||
} | |||
@@ -84,7 +84,7 @@ import org.apache.poi.hssf.util.Region; | |||
*/ | |||
public final class HSSFConditionalFormatting | |||
{ | |||
private final Workbook workbook; | |||
private final HSSFWorkbook workbook; | |||
private final CFRecordsAggregate cfAggregate; | |||
HSSFConditionalFormatting(HSSFSheet sheet, CFRecordsAggregate cfAggregate) | |||
@@ -95,7 +95,7 @@ public final class HSSFConditionalFormatting | |||
if(cfAggregate == null) { | |||
throw new IllegalArgumentException("cfAggregate must not be null"); | |||
} | |||
workbook = sheet.workbook.getWorkbook(); | |||
workbook = sheet.workbook; | |||
this.cfAggregate = cfAggregate; | |||
} | |||
CFRecordsAggregate getCFRecordsAggregate() { |
@@ -40,13 +40,13 @@ public final class HSSFConditionalFormattingRule | |||
private static final byte CELL_COMPARISON = CFRuleRecord.CONDITION_TYPE_CELL_VALUE_IS; | |||
private final CFRuleRecord cfRuleRecord; | |||
private final Workbook workbook; | |||
private final HSSFWorkbook workbook; | |||
HSSFConditionalFormattingRule(Workbook pWorkbook, CFRuleRecord pRuleRecord) { | |||
HSSFConditionalFormattingRule(HSSFWorkbook pWorkbook, CFRuleRecord pRuleRecord) { | |||
workbook = pWorkbook; | |||
cfRuleRecord = pRuleRecord; | |||
} | |||
HSSFConditionalFormattingRule(Workbook pWorkbook, CFRuleRecord pRuleRecord, | |||
HSSFConditionalFormattingRule(HSSFWorkbook pWorkbook, CFRuleRecord pRuleRecord, | |||
HSSFFontFormatting fontFmt, HSSFBorderFormatting bordFmt, HSSFPatternFormatting patternFmt) { | |||
this(pWorkbook, pRuleRecord); | |||
setFontFormatting(fontFmt); |
@@ -115,7 +115,7 @@ public class HSSFFormulaEvaluator { | |||
* formula evaluated. | |||
*/ | |||
public static FormulaParser getUnderlyingParser(HSSFWorkbook workbook, String formula) { | |||
return new FormulaParser(formula, workbook.getWorkbook()); | |||
return new FormulaParser(formula, workbook); | |||
} | |||
/** | |||
@@ -343,7 +343,7 @@ public class HSSFFormulaEvaluator { | |||
} | |||
private static ValueEval evaluateCell(HSSFWorkbook workbook, HSSFSheet sheet, | |||
int srcRowNum, short srcColNum, String cellFormulaText) { | |||
FormulaParser parser = new FormulaParser(cellFormulaText, workbook.getWorkbook()); | |||
FormulaParser parser = new FormulaParser(cellFormulaText, workbook); | |||
parser.parse(); | |||
Ptg[] ptgs = parser.getRPNPtg(); | |||
// -- parsing over -- | |||
@@ -760,7 +760,7 @@ public class HSSFFormulaEvaluator { | |||
* @param workbook | |||
*/ | |||
void inspectPtgs(String formula) { | |||
FormulaParser fp = new FormulaParser(formula, workbook.getWorkbook()); | |||
FormulaParser fp = new FormulaParser(formula, workbook); | |||
fp.parse(); | |||
Ptg[] ptgs = fp.getRPNPtg(); | |||
System.out.println("<ptg-group>"); |
@@ -29,7 +29,7 @@ import org.apache.poi.hssf.util.RangeAddress; | |||
*/ | |||
public class HSSFName { | |||
private Workbook book; | |||
private HSSFWorkbook book; | |||
private NameRecord name; | |||
/** Creates new HSSFName - called by HSSFWorkbook to create a sheet from | |||
@@ -40,7 +40,7 @@ public class HSSFName { | |||
* @param book lowlevel Workbook object associated with the sheet. | |||
*/ | |||
protected HSSFName(Workbook book, NameRecord name) { | |||
protected HSSFName(HSSFWorkbook book, NameRecord name) { | |||
this.book = book; | |||
this.name = name; | |||
} | |||
@@ -53,7 +53,7 @@ public class HSSFName { | |||
String result ; | |||
short indexToExternSheet = name.getExternSheetNumber(); | |||
result = book.findSheetNameFromExternSheet(indexToExternSheet); | |||
result = book.getWorkbook().findSheetNameFromExternSheet(indexToExternSheet); | |||
return result; | |||
} | |||
@@ -77,11 +77,12 @@ public class HSSFName { | |||
public void setNameName(String nameName){ | |||
name.setNameText(nameName); | |||
name.setNameTextLength((byte)nameName.length()); | |||
Workbook wb = book.getWorkbook(); | |||
//Check to ensure no other names have the same case-insensitive name | |||
for ( int i = book.getNumNames()-1; i >=0; i-- ) | |||
for ( int i = wb.getNumNames()-1; i >=0; i-- ) | |||
{ | |||
NameRecord rec = book.getNameRecord(i); | |||
NameRecord rec = wb.getNameRecord(i); | |||
if (rec != name) { | |||
if (rec.getNameText().equalsIgnoreCase(getNameName())) | |||
throw new IllegalArgumentException("The workbook already contains this name (case-insensitive)"); | |||
@@ -111,7 +112,7 @@ public class HSSFName { | |||
private void setSheetName(String sheetName){ | |||
int sheetNumber = book.getSheetIndex(sheetName); | |||
short externSheetNumber = book.checkExternSheet(sheetNumber); | |||
short externSheetNumber = book.getExternalSheetIndex(sheetNumber); | |||
name.setExternSheetNumber(externSheetNumber); | |||
// name.setIndexToSheet(externSheetNumber); | |||
@@ -53,7 +53,7 @@ public final class HSSFRow implements Comparable { | |||
* reference to containing low level Workbook | |||
*/ | |||
private Workbook book; | |||
private HSSFWorkbook book; | |||
/** | |||
* reference to containing Sheet | |||
@@ -75,7 +75,7 @@ public final class HSSFRow implements Comparable { | |||
*/ | |||
//protected HSSFRow(Workbook book, Sheet sheet, short rowNum) | |||
protected HSSFRow(Workbook book, Sheet sheet, int rowNum) | |||
protected HSSFRow(HSSFWorkbook book, Sheet sheet, int rowNum) | |||
{ | |||
this.rowNum = rowNum; | |||
this.book = book; | |||
@@ -99,7 +99,7 @@ public final class HSSFRow implements Comparable { | |||
* @see org.apache.poi.hssf.usermodel.HSSFSheet#createRow(int) | |||
*/ | |||
protected HSSFRow(Workbook book, Sheet sheet, RowRecord record) | |||
protected HSSFRow(HSSFWorkbook book, Sheet sheet, RowRecord record) | |||
{ | |||
this.book = book; | |||
this.sheet = sheet; |
@@ -194,7 +194,7 @@ public final class HSSFSheet { | |||
*/ | |||
public HSSFRow createRow(int rownum) | |||
{ | |||
HSSFRow row = new HSSFRow(book, sheet, rownum); | |||
HSSFRow row = new HSSFRow(workbook, sheet, rownum); | |||
addRow(row, true); | |||
return row; | |||
@@ -209,7 +209,7 @@ public final class HSSFSheet { | |||
private HSSFRow createRowFromRecord(RowRecord row) | |||
{ | |||
HSSFRow hrow = new HSSFRow(book, sheet, row); | |||
HSSFRow hrow = new HSSFRow(workbook, sheet, row); | |||
addRow(hrow, false); | |||
return hrow; | |||
@@ -394,7 +394,7 @@ public final class HSSFSheet { | |||
//formula fields ( size and data ) | |||
String str_formula = obj_validation.getFirstFormula(); | |||
FormulaParser fp = new FormulaParser(str_formula, book); | |||
FormulaParser fp = new FormulaParser(str_formula, workbook); | |||
fp.parse(); | |||
Stack ptg_arr = new Stack(); | |||
Ptg[] ptg = fp.getRPNPtg(); | |||
@@ -418,7 +418,7 @@ public final class HSSFSheet { | |||
if ( obj_validation.getSecondFormula() != null ) | |||
{ | |||
str_formula = obj_validation.getSecondFormula(); | |||
fp = new FormulaParser(str_formula, book); | |||
fp = new FormulaParser(str_formula, workbook); | |||
fp.parse(); | |||
ptg_arr = new Stack(); | |||
ptg = fp.getRPNPtg(); | |||
@@ -1264,7 +1264,7 @@ public final class HSSFSheet { | |||
// Since it's a formula cell, process the | |||
// formula string, and look to see if | |||
// it contains any references | |||
FormulaParser fp = new FormulaParser(c.getCellFormula(), workbook.getWorkbook()); | |||
FormulaParser fp = new FormulaParser(c.getCellFormula(), workbook); | |||
fp.parse(); | |||
// Look for references, and update if needed | |||
@@ -1874,9 +1874,8 @@ public final class HSSFSheet { | |||
HSSFBorderFormatting bordFmt, | |||
HSSFPatternFormatting patternFmt) { | |||
Workbook wb = workbook.getWorkbook(); | |||
CFRuleRecord rr = CFRuleRecord.create(wb, comparisonOperation, formula1, formula2); | |||
return new HSSFConditionalFormattingRule(wb, rr, fontFmt, bordFmt, patternFmt); | |||
CFRuleRecord rr = CFRuleRecord.create(workbook, comparisonOperation, formula1, formula2); | |||
return new HSSFConditionalFormattingRule(workbook, rr, fontFmt, bordFmt, patternFmt); | |||
} | |||
/** | |||
@@ -1895,9 +1894,8 @@ public final class HSSFSheet { | |||
HSSFFontFormatting fontFmt, | |||
HSSFBorderFormatting bordFmt, | |||
HSSFPatternFormatting patternFmt) { | |||
Workbook wb = workbook.getWorkbook(); | |||
CFRuleRecord rr = CFRuleRecord.create(wb, formula); | |||
return new HSSFConditionalFormattingRule(wb, rr, fontFmt, bordFmt, patternFmt); | |||
CFRuleRecord rr = CFRuleRecord.create(workbook, formula); | |||
return new HSSFConditionalFormattingRule(workbook, rr, fontFmt, bordFmt, patternFmt); | |||
} | |||
/** |
@@ -36,6 +36,7 @@ import org.apache.poi.hssf.record.formula.Area3DPtg; | |||
import org.apache.poi.hssf.record.formula.MemFuncPtg; | |||
import org.apache.poi.hssf.record.formula.UnionPtg; | |||
import org.apache.poi.hssf.util.CellReference; | |||
import org.apache.poi.hssf.util.SheetReferences; | |||
import org.apache.poi.poifs.filesystem.*; | |||
import org.apache.poi.util.POILogFactory; | |||
import org.apache.poi.util.POILogger; | |||
@@ -249,7 +250,7 @@ public class HSSFWorkbook extends POIDocument | |||
} | |||
for (int i = 0 ; i < workbook.getNumNames() ; ++i){ | |||
HSSFName name = new HSSFName(workbook, workbook.getNameRecord(i)); | |||
HSSFName name = new HSSFName(this, workbook.getNameRecord(i)); | |||
names.add(name); | |||
} | |||
} | |||
@@ -522,6 +523,17 @@ public class HSSFWorkbook extends POIDocument | |||
} | |||
return -1; | |||
} | |||
/** | |||
* Returns the external sheet index of the sheet | |||
* with the given internal index, creating one | |||
* if needed. | |||
* Used by some of the more obscure formula and | |||
* named range things. | |||
*/ | |||
public short getExternalSheetIndex(int internalSheetIndex) { | |||
return workbook.checkExternSheet(internalSheetIndex); | |||
} | |||
/** | |||
* create an HSSFSheet for this HSSFWorkbook, adds it to the sheets and returns | |||
@@ -647,6 +659,10 @@ public class HSSFWorkbook extends POIDocument | |||
} | |||
return retval; | |||
} | |||
public SheetReferences getSheetReferences() { | |||
return workbook.getSheetReferences(); | |||
} | |||
/** | |||
* removes sheet at the given index | |||
@@ -790,7 +806,7 @@ public class HSSFWorkbook extends POIDocument | |||
if (isNewRecord) | |||
{ | |||
HSSFName newName = new HSSFName(workbook, nameRecord); | |||
HSSFName newName = new HSSFName(this, nameRecord); | |||
names.add(newName); | |||
} | |||
@@ -1101,6 +1117,17 @@ public class HSSFWorkbook extends POIDocument | |||
return result; | |||
} | |||
/** | |||
* TODO - make this less cryptic / move elsewhere | |||
* @param refIndex Index to REF entry in EXTERNSHEET record in the Link Table | |||
* @param definedNameIndex zero-based to DEFINEDNAME or EXTERNALNAME record | |||
* @return the string representation of the defined or external name | |||
*/ | |||
public String resolveNameXText(int refIndex, int definedNameIndex) { | |||
return workbook.resolveNameXText(refIndex, definedNameIndex); | |||
} | |||
/** | |||
* Sets the printarea for the sheet provided | |||
@@ -1159,7 +1186,7 @@ public class HSSFWorkbook extends POIDocument | |||
if (name == null) return null; | |||
//adding one here because 0 indicates a global named region; doesnt make sense for print areas | |||
return name.getAreaReference(workbook); | |||
return name.getAreaReference(this); | |||
} | |||
/** | |||
@@ -1176,7 +1203,7 @@ public class HSSFWorkbook extends POIDocument | |||
public HSSFName createName(){ | |||
NameRecord nameRecord = workbook.createName(); | |||
HSSFName newName = new HSSFName(workbook, nameRecord); | |||
HSSFName newName = new HSSFName(this, nameRecord); | |||
names.add(newName); | |||
@@ -142,7 +142,7 @@ public final class TestFormulaParser extends TestCase { | |||
assertEquals(true, flag.getValue()); | |||
assertEquals("Y", y.getValue()); | |||
assertEquals("N", n.getValue()); | |||
assertEquals("IF", funif.toFormulaString((Workbook) null)); | |||
assertEquals("IF", funif.toFormulaString((HSSFWorkbook) null)); | |||
assertTrue("Goto ptg exists", goto1.isGoto()); | |||
} | |||
@@ -283,7 +283,7 @@ public final class TestFormulaParser extends TestCase { | |||
} | |||
public void testMacroFunction() { | |||
Workbook w = Workbook.createWorkbook(); | |||
HSSFWorkbook w = new HSSFWorkbook(); | |||
FormulaParser fp = new FormulaParser("FOO()", w); | |||
fp.parse(); | |||
Ptg[] ptg = fp.getRPNPtg(); | |||
@@ -589,8 +589,7 @@ public final class TestFormulaParser extends TestCase { | |||
* a formula consisting of a single no-arg function got rendered without the function braces | |||
*/ | |||
public void testToFormulaStringZeroArgFunction() { | |||
Workbook book = Workbook.createWorkbook(); // not really used in this test | |||
HSSFWorkbook book = new HSSFWorkbook(); | |||
Ptg[] ptgs = { | |||
new FuncPtg(10, 0), | |||
@@ -889,7 +888,7 @@ public final class TestFormulaParser extends TestCase { | |||
} | |||
} | |||
public void testFuncPtgSelection() { | |||
Workbook book = Workbook.createWorkbook(); | |||
HSSFWorkbook book = new HSSFWorkbook(); | |||
Ptg[] ptgs; | |||
ptgs = FormulaParser.parse("countif(A1:A2, 1)", book); | |||
assertEquals(3, ptgs.length); |
@@ -19,11 +19,11 @@ package org.apache.poi.hssf.record; | |||
import junit.framework.TestCase; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.record.CFRuleRecord.ComparisonOperator; | |||
import org.apache.poi.hssf.record.cf.BorderFormatting; | |||
import org.apache.poi.hssf.record.cf.FontFormatting; | |||
import org.apache.poi.hssf.record.cf.PatternFormatting; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
import org.apache.poi.hssf.util.HSSFColor; | |||
import org.apache.poi.util.LittleEndian; | |||
@@ -38,7 +38,7 @@ public final class TestCFRuleRecord extends TestCase | |||
public void testCreateCFRuleRecord () | |||
{ | |||
Workbook workbook = Workbook.createWorkbook(); | |||
HSSFWorkbook workbook = new HSSFWorkbook(); | |||
CFRuleRecord record = CFRuleRecord.create(workbook, "7"); | |||
testCFRuleRecord(record); | |||
@@ -278,7 +278,7 @@ public final class TestCFRuleRecord extends TestCase | |||
} | |||
public void testWrite() { | |||
Workbook workbook = Workbook.createWorkbook(); | |||
HSSFWorkbook workbook = new HSSFWorkbook(); | |||
CFRuleRecord rr = CFRuleRecord.create(workbook, ComparisonOperator.BETWEEN, "5", "10"); | |||
PatternFormatting patternFormatting = new PatternFormatting(); |
@@ -24,12 +24,12 @@ import java.util.List; | |||
import junit.framework.TestCase; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.record.CFHeaderRecord; | |||
import org.apache.poi.hssf.record.CFRuleRecord; | |||
import org.apache.poi.hssf.record.RecordFactory; | |||
import org.apache.poi.hssf.record.CFRuleRecord.ComparisonOperator; | |||
import org.apache.poi.hssf.record.cf.CellRange; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
/** | |||
* Tests the serialization and deserialization of the CFRecordsAggregate | |||
@@ -42,7 +42,7 @@ public final class TestCFRecordsAggregate extends TestCase | |||
public void testCFRecordsAggregate() | |||
{ | |||
Workbook workbook = Workbook.createWorkbook(); | |||
HSSFWorkbook workbook = new HSSFWorkbook(); | |||
List recs = new ArrayList(); | |||
CFHeaderRecord header = new CFHeaderRecord(); | |||
CFRuleRecord rule1 = CFRuleRecord.create(workbook, "7"); |
@@ -51,13 +51,9 @@ public abstract class AbstractPtgTestCase extends TestCase { | |||
/** | |||
* Creates a new Workbook and adds one sheet with the specified name | |||
*/ | |||
protected static final Workbook createWorkbookWithSheet(String sheetName) { | |||
Workbook book = Workbook.createWorkbook(); | |||
// this creates sheet if it doesn't exist | |||
book.checkExternSheet(0); | |||
// TODO - this call alone does not create the sheet even though the javadoc says it does | |||
book.setSheetName(0, sheetName); | |||
protected static final HSSFWorkbook createWorkbookWithSheet(String sheetName) { | |||
HSSFWorkbook book = new HSSFWorkbook(); | |||
book.createSheet(sheetName); | |||
return book; | |||
} | |||
} |
@@ -18,7 +18,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
/** | |||
* Tests for Area3DPtg | |||
@@ -35,7 +35,7 @@ public final class TestArea3DPtg extends AbstractPtgTestCase { | |||
Area3DPtg target = new Area3DPtg("A1:B1", (short)0); | |||
String sheetName = "my sheet"; | |||
Workbook book = createWorkbookWithSheet(sheetName); | |||
HSSFWorkbook book = createWorkbookWithSheet(sheetName); | |||
assertEquals("'my sheet'!A1:B1", target.toFormulaString(book)); | |||
book.setSheetName(0, "Sheet1"); | |||
@@ -44,7 +44,4 @@ public final class TestArea3DPtg extends AbstractPtgTestCase { | |||
book.setSheetName(0, "C64"); | |||
assertEquals("'C64'!A1:B1", target.toFormulaString(book)); | |||
} | |||
} |
@@ -18,7 +18,7 @@ | |||
package org.apache.poi.hssf.record.formula; | |||
import org.apache.poi.hssf.model.Workbook; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
/** | |||
* Tests for Ref3DPtg | |||
@@ -31,7 +31,7 @@ public final class TestRef3DPtg extends AbstractPtgTestCase { | |||
Ref3DPtg target = new Ref3DPtg("A1", (short)0); | |||
Workbook book = createWorkbookWithSheet("my sheet"); | |||
HSSFWorkbook book = createWorkbookWithSheet("my sheet"); | |||
assertEquals("'my sheet'!A1", target.toFormulaString(book)); | |||
@@ -26,6 +26,7 @@ import org.apache.poi.hssf.record.formula.AbstractFunctionPtg; | |||
import org.apache.poi.hssf.record.formula.FuncPtg; | |||
import org.apache.poi.hssf.record.formula.FuncVarPtg; | |||
import org.apache.poi.hssf.record.formula.Ptg; | |||
import org.apache.poi.hssf.usermodel.HSSFWorkbook; | |||
/** | |||
* Tests parsing of some built-in functions that were not properly | |||
* registered in POI as bug #44675, #44733 (March/April 2008). | |||
@@ -35,7 +36,7 @@ import org.apache.poi.hssf.record.formula.Ptg; | |||
public final class TestParseMissingBuiltInFuncs extends TestCase { | |||
private static Ptg[] parse(String formula) { | |||
Workbook book = Workbook.createWorkbook(); | |||
HSSFWorkbook book = new HSSFWorkbook(); | |||
return FormulaParser.parse(formula, book); | |||
} | |||
private static void confirmFunc(String formula, int expPtgArraySize, boolean isVarArgFunc, int funcIx) { | |||
@@ -57,7 +58,7 @@ public final class TestParseMissingBuiltInFuncs extends TestCase { | |||
assertEquals(expCls, ptgF.getClass()); | |||
// check that parsed Ptg array converts back to formula text OK | |||
Workbook book = Workbook.createWorkbook(); | |||
HSSFWorkbook book = new HSSFWorkbook(); | |||
String reRenderedFormula = FormulaParser.toFormulaString(book, ptgs); | |||
assertEquals(formula, reRenderedFormula); | |||
} |
@@ -203,7 +203,7 @@ public final class TestFormulaEvaluatorBugs extends TestCase { | |||
assertEquals(2, ptg.getLastColumn()); | |||
assertEquals(0, ptg.getFirstRow()); | |||
assertEquals(65535, ptg.getLastRow()); | |||
assertEquals("C:C", ptg.toFormulaString(wb.getWorkbook())); | |||
assertEquals("C:C", ptg.toFormulaString(wb)); | |||
// Will show as C:C, but won't know how many | |||
// rows it covers as we don't have the sheet |
@@ -211,12 +211,12 @@ public final class TestAreaReference extends TestCase { | |||
Area3DPtg ptgB = (Area3DPtg)def.get(1); | |||
Area3DPtg ptgC = (Area3DPtg)def.get(2); | |||
UnionPtg ptgD = (UnionPtg)def.get(3); | |||
assertEquals("", ptgA.toFormulaString(workbook)); | |||
assertEquals(refA, ptgB.toFormulaString(workbook)); | |||
assertEquals(refB, ptgC.toFormulaString(workbook)); | |||
assertEquals(",", ptgD.toFormulaString(workbook)); | |||
assertEquals("", ptgA.toFormulaString(wb)); | |||
assertEquals(refA, ptgB.toFormulaString(wb)); | |||
assertEquals(refB, ptgC.toFormulaString(wb)); | |||
assertEquals(",", ptgD.toFormulaString(wb)); | |||
assertEquals(ref, nr.getAreaReference(workbook)); | |||
assertEquals(ref, nr.getAreaReference(wb)); | |||
// Check the high level definition | |||
int idx = wb.getNameIndex("test"); |