mirror of https://github.com/apache/poi.git
Merged revisions 697145 via svnmerge from
https://svn.apache.org/repos/asf/poi/trunk ........ r697145 | josh | 2008-09-19 09:34:21 -0700 (Fri, 19 Sep 2008) | 1 line Some clean-up after r696898 (partitioning common formula logic). Fixed compiler error in example XLS2CSVmra ........ git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ooxml@697148 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
10e2804058
commit
f6926898a1
|
@ -14,6 +14,7 @@
|
|||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
==================================================================== */
|
||||
|
||||
package org.apache.poi.hssf.eventusermodel.examples;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
|
@ -29,7 +30,7 @@ import org.apache.poi.hssf.eventusermodel.MissingRecordAwareHSSFListener;
|
|||
import org.apache.poi.hssf.eventusermodel.EventWorkbookBuilder.SheetRecordCollectingListener;
|
||||
import org.apache.poi.hssf.eventusermodel.dummyrecord.LastCellOfRowDummyRecord;
|
||||
import org.apache.poi.hssf.eventusermodel.dummyrecord.MissingCellDummyRecord;
|
||||
import org.apache.poi.hssf.model.FormulaParser;
|
||||
import org.apache.poi.hssf.model.HSSFFormulaParser;
|
||||
import org.apache.poi.hssf.record.BOFRecord;
|
||||
import org.apache.poi.hssf.record.BlankRecord;
|
||||
import org.apache.poi.hssf.record.BoolErrRecord;
|
||||
|
@ -178,7 +179,7 @@ public class XLS2CSVmra implements HSSFListener {
|
|||
}
|
||||
} else {
|
||||
thisStr = '"' +
|
||||
FormulaParser.toFormulaString(stubWorkbook, frec.getParsedExpression()) + '"';
|
||||
HSSFFormulaParser.toFormulaString(stubWorkbook, frec.getParsedExpression()) + '"';
|
||||
}
|
||||
break;
|
||||
case StringRecord.sid:
|
||||
|
|
|
@ -17,18 +17,16 @@
|
|||
|
||||
package org.apache.poi.hssf.model;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.poi.hssf.record.formula.Ptg;
|
||||
import org.apache.poi.hssf.usermodel.HSSFEvaluationWorkbook;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.ss.formula.FormulaParser;
|
||||
import org.apache.poi.ss.formula.FormulaParsingWorkbook;
|
||||
import org.apache.poi.ss.formula.FormulaRenderer;
|
||||
import org.apache.poi.ss.formula.FormulaRenderingWorkbook;
|
||||
import org.apache.poi.ss.formula.FormulaType;
|
||||
|
||||
/**
|
||||
* HSSF wrapper for the {@link FormulaParser}
|
||||
* HSSF wrapper for the {@link FormulaParser} and {@link FormulaRenderer}
|
||||
*
|
||||
* @author Josh Micich
|
||||
*/
|
||||
|
@ -42,30 +40,28 @@ public final class HSSFFormulaParser {
|
|||
// no instances of this class
|
||||
}
|
||||
|
||||
/**
|
||||
* Convenience method for parsing cell formulas. see {@link #parse(String, HSSFWorkbook, int)}
|
||||
*/
|
||||
public static Ptg[] parse(String formula, HSSFWorkbook workbook) {
|
||||
return FormulaParser.parse(formula, createParsingWorkbook(workbook));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param formulaType a constant from {@link FormulaType}
|
||||
* @return the parsed formula tokens
|
||||
*/
|
||||
public static Ptg[] parse(String formula, HSSFWorkbook workbook, int formulaType) {
|
||||
return FormulaParser.parse(formula, createParsingWorkbook(workbook), formulaType);
|
||||
}
|
||||
|
||||
public static String toFormulaString(HSSFWorkbook book, List lptgs) {
|
||||
return toFormulaString(HSSFEvaluationWorkbook.create(book), lptgs);
|
||||
}
|
||||
/**
|
||||
* Convenience method which takes in a list then passes it to the
|
||||
* other toFormulaString signature.
|
||||
* @param book workbook for 3D and named references
|
||||
* @param lptgs list of Ptg, can be null or empty
|
||||
* Static method to convert an array of {@link Ptg}s in RPN order
|
||||
* to a human readable string format in infix mode.
|
||||
* @param book used for defined names and 3D references
|
||||
* @param ptgs must not be <code>null</code>
|
||||
* @return a human readable String
|
||||
*/
|
||||
public static String toFormulaString(FormulaRenderingWorkbook book, List lptgs) {
|
||||
Ptg[] ptgs = new Ptg[lptgs.size()];
|
||||
lptgs.toArray(ptgs);
|
||||
return FormulaRenderer.toFormulaString(book, ptgs);
|
||||
}
|
||||
|
||||
public static String toFormulaString(HSSFWorkbook book, Ptg[] ptgs) {
|
||||
return FormulaRenderer.toFormulaString(HSSFEvaluationWorkbook.create(book), ptgs);
|
||||
}
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
|
||||
package org.apache.poi.ss.formula;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Stack;
|
||||
|
||||
import org.apache.poi.hssf.record.formula.AttrPtg;
|
||||
|
@ -36,33 +35,17 @@ import org.apache.poi.hssf.record.formula.Ptg;
|
|||
* @author Josh Micich
|
||||
*/
|
||||
public class FormulaRenderer {
|
||||
/**
|
||||
* Convenience method which takes in a list then passes it to the
|
||||
* other toFormulaString signature.
|
||||
* @param book workbook for 3D and named references
|
||||
* @param lptgs list of Ptg, can be null or empty
|
||||
* @return a human readable String
|
||||
*/
|
||||
public static String toFormulaString(FormulaRenderingWorkbook book, List lptgs) {
|
||||
String retval = null;
|
||||
if (lptgs == null || lptgs.size() == 0) return "#NAME";
|
||||
Ptg[] ptgs = new Ptg[lptgs.size()];
|
||||
ptgs = (Ptg[])lptgs.toArray(ptgs);
|
||||
retval = toFormulaString(book, ptgs);
|
||||
return retval;
|
||||
}
|
||||
|
||||
/**
|
||||
* Static method to convert an array of Ptgs in RPN order
|
||||
* Static method to convert an array of {@link Ptg}s in RPN order
|
||||
* to a human readable string format in infix mode.
|
||||
* @param book workbook for named and 3D references
|
||||
* @param ptgs array of Ptg, can be null or empty
|
||||
* @param book used for defined names and 3D references
|
||||
* @param ptgs must not be <code>null</code>
|
||||
* @return a human readable String
|
||||
*/
|
||||
public static String toFormulaString(FormulaRenderingWorkbook book, Ptg[] ptgs) {
|
||||
if (ptgs == null || ptgs.length == 0) {
|
||||
// TODO - what is the justification for returning "#NAME" (which is not "#NAME?", btw)
|
||||
return "#NAME";
|
||||
throw new IllegalArgumentException("ptgs must not be null");
|
||||
}
|
||||
Stack stack = new Stack();
|
||||
|
||||
|
|
Loading…
Reference in New Issue