]> source.dussan.org Git - poi.git/commitdiff
Fixed compilation error introduced in r708982
authorJosh Micich <josh@apache.org>
Thu, 30 Oct 2008 21:55:50 +0000 (21:55 +0000)
committerJosh Micich <josh@apache.org>
Thu, 30 Oct 2008 21:55:50 +0000 (21:55 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ooxml@709260 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/ss/usermodel/DataFormatter.java
src/ooxml/interfaces-jdk14/org/apache/poi/ss/usermodel/Cell.java

index a8f01ca720814f4b5f7cc384141ac830867337dc..2d621eea1b7d3219ef467e8a2ff6fca31c29a454 100755 (executable)
@@ -63,7 +63,7 @@ import java.text.*;
  * @author James May (james dot may at fmr dot com)\r
  *\r
  */\r
-public class DataFormatter {\r
+public final class DataFormatter {\r
 \r
     /** Pattern to find a number format: "0" or  "#" */\r
     private static final Pattern numPattern = Pattern.compile("[0#]+");\r
@@ -469,28 +469,20 @@ public class DataFormatter {
      * @param evaluator The FormulaEvaluator (can be null)\r
      * @return a string value of the cell\r
      */\r
-    public String formatCellValue(Cell cell,\r
-                                  FormulaEvaluator evaluator) throws IllegalArgumentException {\r
+    public String formatCellValue(Cell cell, FormulaEvaluator evaluator) {\r
 \r
         if (cell == null) {\r
             return "";\r
         }\r
 \r
         int cellType = cell.getCellType();\r
-        if (evaluator != null && cellType == Cell.CELL_TYPE_FORMULA) {\r
-            try {\r
-                cellType = evaluator.evaluateFormulaCell(cell);\r
-            } catch (RuntimeException e) {\r
-                throw new RuntimeException("Did you forget to set the current" +\r
-                        " row on the FormulaEvaluator?", e);\r
+        if (cellType == Cell.CELL_TYPE_FORMULA) {\r
+            if (evaluator == null) {\r
+                return cell.getCellFormula();\r
             }\r
+            cellType = evaluator.evaluateFormulaCell(cell);\r
         }\r
-        switch (cellType)\r
-        {\r
-            case Cell.CELL_TYPE_FORMULA :\r
-                // should only occur if evaluator is null\r
-                return cell.getCellFormula();\r
-\r
+        switch (cellType) {\r
             case Cell.CELL_TYPE_NUMERIC :\r
 \r
                 if (DateUtil.isCellDateFormatted(cell)) {\r
index a42fbc2643ab8ffb2232a534dfb9d4e3fd71373d..2dbb5715b00cf50f7be95b8d4949cd32820c8da0 100644 (file)
@@ -17,6 +17,8 @@
 
 package org.apache.poi.ss.usermodel;
 
+import java.util.Date;
+
 import org.apache.poi.hssf.usermodel.HSSFCellStyle;
 import org.apache.poi.hssf.usermodel.HSSFRichTextString;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
@@ -98,6 +100,11 @@ public interface Cell {
 
     boolean getBooleanCellValue();
     double getNumericCellValue();
+    /**
+     * get the value of the cell as a date.  For strings we throw an exception.
+     * For blank cells we return a null.
+     */
+    Date getDateCellValue();
     HSSFRichTextString getRichStringCellValue();
 
     void setCellType(int cellType);