You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by am...@apache.org on 2006/11/21 23:17:35 UTC
svn commit: r477928 -
/jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java
Author: amol
Date: Tue Nov 21 14:17:34 2006
New Revision: 477928
URL: http://svn.apache.org/viewvc?view=rev&rev=477928
Log:
removed use of deprecated calls to get the String value of a cell
Modified:
jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java
Modified: jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java
URL: http://svn.apache.org/viewvc/jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java?view=diff&rev=477928&r1=477927&r2=477928
==============================================================================
--- jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java (original)
+++ jakarta/poi/trunk/src/scratchpad/src/org/apache/poi/hssf/usermodel/HSSFFormulaEvaluator.java Tue Nov 21 14:17:34 2006
@@ -4,7 +4,6 @@
*/
package org.apache.poi.hssf.usermodel;
-import java.io.FileInputStream;
import java.lang.reflect.Constructor;
import java.util.HashMap;
import java.util.Map;
@@ -75,7 +74,6 @@
import org.apache.poi.hssf.record.formula.eval.UnaryMinusEval;
import org.apache.poi.hssf.record.formula.eval.UnaryPlusEval;
import org.apache.poi.hssf.record.formula.eval.ValueEval;
-import org.apache.poi.hssf.util.CellReference;
/**
* @author Amol S. Deshmukh < amolweb at ya hoo dot com >
@@ -90,8 +88,6 @@
private static final Class[] VALUE_CONTRUCTOR_CLASS_ARRAY = new Class[] { Ptg.class };
- private static final Class[] AREA_CONSTRUCTOR_CLASS_ARRAY = new Class[] { Ptg.class, ValueEval[].class };
-
private static final Class[] AREA3D_CONSTRUCTOR_CLASS_ARRAY = new Class[] { Ptg.class, ValueEval[].class };
private static final Class[] REFERENCE_CONSTRUCTOR_CLASS_ARRAY = new Class[] { Ptg.class, ValueEval.class };
@@ -186,7 +182,7 @@
break;
case HSSFCell.CELL_TYPE_STRING:
retval = new CellValue(HSSFCell.CELL_TYPE_STRING);
- retval.setStringValue(cell.getStringCellValue());
+ retval.setRichTextStringValue(cell.getRichStringCellValue());
break;
}
}
@@ -221,7 +217,7 @@
cell.setCellValue(cv.getNumberValue());
break;
case HSSFCell.CELL_TYPE_STRING:
- cell.setCellValue(cv.getStringValue());
+ cell.setCellValue(cv.getRichTextStringValue());
break;
case HSSFCell.CELL_TYPE_BLANK:
break;
@@ -333,7 +329,7 @@
HSSFSheet xsheet = workbook.getSheetAt(ptg.getExternSheetIndex());
HSSFRow row = sheet.getRow(rownum);
HSSFCell cell = (row != null) ? row.getCell(colnum) : null;
- pushRef3DEval(ptg, stack, cell, row, sheet, workbook);
+ pushRef3DEval(ptg, stack, cell, row, xsheet, workbook);
}
else if (ptgs[i] instanceof AreaPtg) {
AreaPtg ap = (AreaPtg) ptgs[i];
@@ -364,7 +360,7 @@
HSSFRow row = sheet.getRow(x);
for (short y = col0; row != null && y < col1 + 1; y++) {
values[(x - row0) * (col1 - col0 + 1) + (y - col0)] =
- getEvalForCell(row.getCell(y), row, sheet, workbook);
+ getEvalForCell(row.getCell(y), row, xsheet, workbook);
}
}
AreaEval ae = new Area3DEval(a3dp, values);
@@ -475,7 +471,7 @@
retval = new NumberEval(cell.getNumericCellValue());
break;
case HSSFCell.CELL_TYPE_STRING:
- retval = new StringEval(cell.getStringCellValue());
+ retval = new StringEval(cell.getRichStringCellValue().getString());
break;
case HSSFCell.CELL_TYPE_FORMULA:
retval = internalEvaluate(cell, row, sheet, workbook);
@@ -511,7 +507,7 @@
stack.push(new Ref2DEval(ptg, new NumberEval(cell.getNumericCellValue()), false));
break;
case HSSFCell.CELL_TYPE_STRING:
- stack.push(new Ref2DEval(ptg, new StringEval(cell.getStringCellValue()), false));
+ stack.push(new Ref2DEval(ptg, new StringEval(cell.getRichStringCellValue().getString()), false));
break;
case HSSFCell.CELL_TYPE_FORMULA:
stack.push(new Ref2DEval(ptg, internalEvaluate(cell, row, sheet, workbook), true));
@@ -548,7 +544,7 @@
stack.push(new Ref3DEval(ptg, new NumberEval(cell.getNumericCellValue()), false));
break;
case HSSFCell.CELL_TYPE_STRING:
- stack.push(new Ref3DEval(ptg, new StringEval(cell.getStringCellValue()), false));
+ stack.push(new Ref3DEval(ptg, new StringEval(cell.getRichStringCellValue().getString()), false));
break;
case HSSFCell.CELL_TYPE_FORMULA:
stack.push(new Ref3DEval(ptg, internalEvaluate(cell, row, sheet, workbook), true));
@@ -576,7 +572,7 @@
*/
public static final class CellValue {
private int cellType;
- private String stringValue;
+ private HSSFRichTextString richTextStringValue;
private double numberValue;
private boolean booleanValue;
private byte errorValue;
@@ -614,16 +610,20 @@
this.numberValue = numberValue;
}
/**
- * @return Returns the stringValue.
+ * @return Returns the stringValue. This method is deprecated, use
+ * getRichTextStringValue instead
+ * @deprecated
*/
public String getStringValue() {
- return stringValue;
+ return richTextStringValue.getString();
}
/**
- * @param stringValue The stringValue to set.
+ * @param stringValue The stringValue to set. This method is deprecated, use
+ * getRichTextStringValue instead.
+ * @deprecated
*/
public void setStringValue(String stringValue) {
- this.stringValue = stringValue;
+ this.richTextStringValue = new HSSFRichTextString(stringValue);
}
/**
* @return Returns the cellType.
@@ -643,30 +643,18 @@
public void setErrorValue(byte errorValue) {
this.errorValue = errorValue;
}
- }
-
- /**
- * Manual testing... needs "the" c:/temp/test1.xls file to be present.
- *
- * @param args
- * @throws Exception
- */
- public static void main(String[] args) throws Exception {
- String FILE_NAME = "c:/temp/test1.xls";
-
- FileInputStream fis = new FileInputStream(FILE_NAME);
- HSSFWorkbook wb = new HSSFWorkbook(fis);
- fis.close();
- HSSFSheet sheet = wb.getSheetAt(0);
- HSSFFormulaEvaluator instance = new HSSFFormulaEvaluator(sheet, wb);
-
- for (int rn = 1, rnSize = 4; rn <= rnSize; rn++) {
- HSSFRow row = sheet.getRow(rn);
- for (int cn = 5, cnSize = 7; cn <= cnSize; cn++) {
- HSSFCell cell = row.getCell((short) cn);
- System.out.println(new CellReference(rn, cn).toString() + ": " + instance.evaluate(cell));
- }
- }
+ /**
+ * @return Returns the richTextStringValue.
+ */
+ public HSSFRichTextString getRichTextStringValue() {
+ return richTextStringValue;
+ }
+ /**
+ * @param richTextStringValue The richTextStringValue to set.
+ */
+ public void setRichTextStringValue(HSSFRichTextString richTextStringValue) {
+ this.richTextStringValue = richTextStringValue;
+ }
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: poi-dev-unsubscribe@jakarta.apache.org
Mailing List: http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta POI Project: http://jakarta.apache.org/poi/