summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/documentation/content/xdocs/status.xml3
-rw-r--r--src/java/org/apache/poi/hssf/record/formula/eval/RefEval.java9
-rw-r--r--src/java/org/apache/poi/ss/formula/LazyRefEval.java4
-rw-r--r--src/java/org/apache/poi/ss/formula/SheetRefEvaluator.java13
4 files changed, 28 insertions, 1 deletions
diff --git a/src/documentation/content/xdocs/status.xml b/src/documentation/content/xdocs/status.xml
index 2e39f07ee3..fcb0640b82 100644
--- a/src/documentation/content/xdocs/status.xml
+++ b/src/documentation/content/xdocs/status.xml
@@ -32,7 +32,8 @@
</developers>
<changes>
- <release version="3.5-beta7" date="2009-??-??">
+ <release version="3.5-beta7" date="2009-??-??">
+ <action dev="POI-DEVELOPERS" type="add">47849 - Added possibility to get EvaluationCell from RefEval</action>
<action dev="POI-DEVELOPERS" type="add">47848 - Added method createEvaluationWorkbook() to CreationHelper</action>
<action dev="POI-DEVELOPERS" type="add">47809 - Improved work with user-defined functions</action>
<action dev="POI-DEVELOPERS" type="fix">47581 - fixed XSSFSheet.setColumnWidth to produce XML compatible with Mac Excel 2008</action>
diff --git a/src/java/org/apache/poi/hssf/record/formula/eval/RefEval.java b/src/java/org/apache/poi/hssf/record/formula/eval/RefEval.java
index 397d1f1c94..c2b4583254 100644
--- a/src/java/org/apache/poi/hssf/record/formula/eval/RefEval.java
+++ b/src/java/org/apache/poi/hssf/record/formula/eval/RefEval.java
@@ -17,6 +17,8 @@
package org.apache.poi.hssf.record.formula.eval;
+import org.apache.poi.ss.formula.EvaluationCell;
+
/**
* @author Amol S Deshmukh &lt; amolweb at ya hoo dot com &gt;
*
@@ -26,6 +28,8 @@ package org.apache.poi.hssf.record.formula.eval;
* reference. Thus if the HSSFCell has type CELL_TYPE_NUMERIC, the contained
* value object should be of type NumberEval; if cell type is CELL_TYPE_STRING,
* contained value object should be of type StringEval
+ *
+ * Modified 09/07/09 by Petr Udalau - added method getEvaluationCell().
*/
public interface RefEval extends ValueEval {
@@ -48,4 +52,9 @@ public interface RefEval extends ValueEval {
* Creates an {@link AreaEval} offset by a relative amount from this RefEval
*/
AreaEval offset(int relFirstRowIx, int relLastRowIx, int relFirstColIx, int relLastColIx);
+
+ /**
+ * @return EvaluationCell referred to by this RefEval
+ */
+ EvaluationCell getEvaluationCell();
}
diff --git a/src/java/org/apache/poi/ss/formula/LazyRefEval.java b/src/java/org/apache/poi/ss/formula/LazyRefEval.java
index 2a97c67c48..3626bc0412 100644
--- a/src/java/org/apache/poi/ss/formula/LazyRefEval.java
+++ b/src/java/org/apache/poi/ss/formula/LazyRefEval.java
@@ -52,6 +52,10 @@ final class LazyRefEval extends RefEvalBase {
return _evaluator.getEvalForCell(getRow(), getColumn());
}
+ public EvaluationCell getEvaluationCell() {
+ return _evaluator.getEvaluationCell(getRow(), getColumn());
+ }
+
public AreaEval offset(int relFirstRowIx, int relLastRowIx, int relFirstColIx, int relLastColIx) {
AreaI area = new OffsetArea(getRow(), getColumn(),
diff --git a/src/java/org/apache/poi/ss/formula/SheetRefEvaluator.java b/src/java/org/apache/poi/ss/formula/SheetRefEvaluator.java
index 97568cfec4..b3ff5e4d3e 100644
--- a/src/java/org/apache/poi/ss/formula/SheetRefEvaluator.java
+++ b/src/java/org/apache/poi/ss/formula/SheetRefEvaluator.java
@@ -22,6 +22,10 @@ import org.apache.poi.hssf.record.formula.eval.ValueEval;
*
*
* @author Josh Micich
+ *
+ * June 4, 2009: Added method setCellValue for setting values in cells.
+ *
+ * Modified 09/07/09 by Petr Udalau - added method getEvaluationCell(int rowIndex, int columnIndex).
*/
final class SheetRefEvaluator {
@@ -53,4 +57,13 @@ final class SheetRefEvaluator {
}
return _sheet;
}
+
+ /**
+ * @param rowIndex Row index.
+ * @param columnIndex Column index.
+ * @return EvaluationCell by row and column.
+ */
+ public EvaluationCell getEvaluationCell(int rowIndex, int columnIndex){
+ return getSheet().getCell(rowIndex, columnIndex);
+ }
}