You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2013/10/31 17:53:04 UTC
svn commit: r1537552 - in /poi/trunk/src:
java/org/apache/poi/ss/usermodel/DataFormatter.java
testcases/org/apache/poi/ss/usermodel/TestDataFormatter.java
Author: nick
Date: Thu Oct 31 16:53:03 2013
New Revision: 1537552
URL: http://svn.apache.org/r1537552
Log:
Allow formatting of formula error cells, giving back the error string that Excel shows #55729
Modified:
poi/trunk/src/java/org/apache/poi/ss/usermodel/DataFormatter.java
poi/trunk/src/testcases/org/apache/poi/ss/usermodel/TestDataFormatter.java
Modified: poi/trunk/src/java/org/apache/poi/ss/usermodel/DataFormatter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ss/usermodel/DataFormatter.java?rev=1537552&r1=1537551&r2=1537552&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ss/usermodel/DataFormatter.java (original)
+++ poi/trunk/src/java/org/apache/poi/ss/usermodel/DataFormatter.java Thu Oct 31 16:53:03 2013
@@ -829,6 +829,8 @@ public class DataFormatter {
return String.valueOf(cell.getBooleanCellValue());
case Cell.CELL_TYPE_BLANK :
return "";
+ case Cell.CELL_TYPE_ERROR:
+ return FormulaError.forInt(cell.getErrorCellValue()).getString();
}
throw new RuntimeException("Unexpected celltype (" + cellType + ")");
}
Modified: poi/trunk/src/testcases/org/apache/poi/ss/usermodel/TestDataFormatter.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/TestDataFormatter.java?rev=1537552&r1=1537551&r2=1537552&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ss/usermodel/TestDataFormatter.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/ss/usermodel/TestDataFormatter.java Thu Oct 31 16:53:03 2013
@@ -28,6 +28,7 @@ import java.util.Locale;
import junit.framework.TestCase;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.TestHSSFDataFormatter;
/**
@@ -491,6 +492,22 @@ public class TestDataFormatter extends T
assertEquals(" - ", dfUS.formatRawCellContents(0.0, -1, "_-* #,##0.00_-;-* #,##0.00_-;_-* \"-\"??_-;_-@_-"));
assertEquals(" $- ", dfUS.formatRawCellContents(0.0, -1, "_-$* #,##0.00_-;-$* #,##0.00_-;_-$* \"-\"??_-;_-@_-"));
}
+
+ public void testErrors() {
+ DataFormatter dfUS = new DataFormatter(Locale.US, true);
+
+ // Create a spreadsheet with some formula errors in it
+ Workbook wb = new HSSFWorkbook();
+ Sheet s = wb.createSheet();
+ Row r = s.createRow(0);
+ Cell c = r.createCell(0, Cell.CELL_TYPE_ERROR);
+
+ c.setCellErrorValue(FormulaError.DIV0.getCode());
+ assertEquals(FormulaError.DIV0.getString(), dfUS.formatCellValue(c));
+
+ c.setCellErrorValue(FormulaError.REF.getCode());
+ assertEquals(FormulaError.REF.getString(), dfUS.formatCellValue(c));
+ }
/**
* TODO Fix these so that they work
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org