acoliver 02/04/27 19:04:58
Modified: src/java/org/apache/poi/hssf/record FormulaRecord.java
src/java/org/apache/poi/hssf/record/formula
FormulaParser.java
src/java/org/apache/poi/hssf/usermodel HSSFCell.java
Log:
Now provides string formula, reads simple formulas, mmmm formulas
Revision Changes Path
1.8 +2 -2
jakarta-poi/src/java/org/apache/poi/hssf/record/FormulaRecord.java
Index: FormulaRecord.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/FormulaRecord.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- FormulaRecord.java 28 Apr 2002 00:44:40 -0000 1.7
+++ FormulaRecord.java 28 Apr 2002 02:04:58 -0000 1.8
@@ -157,7 +157,7 @@
int offset)
{
Stack stack = new Stack();
- /*int pos = 22 + offset;
+ int pos = 22 + offset;
while (pos < size)
{
@@ -165,7 +165,7 @@
pos += ptg.getSize();
stack.push(ptg);
- }*/
+ }
return stack;
}
1.4 +12 -0
jakarta-poi/src/java/org/apache/poi/hssf/record/formula/FormulaParser.java
Index: FormulaParser.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/formula/FormulaParser.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- FormulaParser.java 27 Apr 2002 17:26:06 -0000 1.3
+++ FormulaParser.java 28 Apr 2002 02:04:58 -0000 1.4
@@ -390,6 +390,18 @@
return (Ptg[]) tokens.toArray(retval);
}
}
+
+ /**
+ * Convience method which takes in a list then passes it to the other
toFormulaString
+ * signature
+ */
+ public static String toFormulaString(List lptgs) {
+ String retval = null;
+ Ptg[] ptgs = new Ptg[lptgs.size()];
+ ptgs = (Ptg[])lptgs.toArray(ptgs);
+ retval = toFormulaString(ptgs);
+ return retval;
+ }
/** Static method to convert an array of Ptgs in RPN order
* to a human readable string format in infix mode
1.8 +9 -0 jakarta-poi/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java
Index: HSSFCell.java
===================================================================
RCS file:
/home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/usermodel/HSSFCell.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- HSSFCell.java 27 Apr 2002 17:26:06 -0000 1.7
+++ HSSFCell.java 28 Apr 2002 02:04:58 -0000 1.8
@@ -712,6 +712,15 @@
}
}
+ public String getCellFormula() {
+ String retval=null;
+
+ retval =
+
FormulaParser.toFormulaString(((FormulaRecord)record).getParsedExpression());
+
+ return retval;
+ }
+
/**
* get the value of the cell as a number. For strings we throw an exception.