git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1808700 13f79535-47bb-0310-9956-ffa450edef68tags/REL_4_0_0_FINAL
@@ -321,7 +321,7 @@ public class ExcelExtractor extends POIOLE2TextExtractor implements org.apache.p | |||
// Only output if requested | |||
outputContents = _includeBlankCells; | |||
} else { | |||
switch(cell.getCellTypeEnum()) { | |||
switch(cell.getCellType()) { | |||
case STRING: | |||
text.append(cell.getRichStringCellValue().getString()); | |||
break; | |||
@@ -338,7 +338,7 @@ public class ExcelExtractor extends POIOLE2TextExtractor implements org.apache.p | |||
if(!_shouldEvaluateFormulas) { | |||
text.append(cell.getCellFormula()); | |||
} else { | |||
switch(cell.getCachedFormulaResultTypeEnum()) { | |||
switch(cell.getCachedFormulaResultType()) { | |||
case STRING: | |||
HSSFRichTextString str = cell.getRichStringCellValue(); | |||
if(str != null && str.length() > 0) { | |||
@@ -359,13 +359,13 @@ public class ExcelExtractor extends POIOLE2TextExtractor implements org.apache.p | |||
text.append(ErrorEval.getText(cell.getErrorCellValue())); | |||
break; | |||
default: | |||
throw new IllegalStateException("Unexpected cell cached formula result type: " + cell.getCachedFormulaResultTypeEnum()); | |||
throw new IllegalStateException("Unexpected cell cached formula result type: " + cell.getCachedFormulaResultType()); | |||
} | |||
} | |||
break; | |||
default: | |||
throw new RuntimeException("Unexpected cell type (" + cell.getCellTypeEnum() + ")"); | |||
throw new RuntimeException("Unexpected cell type (" + cell.getCellType() + ")"); | |||
} | |||
// Output the comment, if requested and exists |
@@ -256,22 +256,6 @@ public class HSSFCell implements Cell { | |||
return new CellAddress(this); | |||
} | |||
/** | |||
* Set the cells type (numeric, formula or string). | |||
* If the cell currently contains a value, the value will | |||
* be converted to match the new type, if possible. | |||
* @see CellType#NUMERIC | |||
* @see CellType#STRING | |||
* @see CellType#FORMULA | |||
* @see CellType#BLANK | |||
* @see CellType#BOOLEAN | |||
* @see CellType#ERROR | |||
* @deprecated POI 3.15 beta 3. Use {@link #setCellType(CellType)} instead. | |||
*/ | |||
@Override | |||
public void setCellType(int cellType) { | |||
setCellType(CellType.forInt(cellType)); | |||
} | |||
/** | |||
* Set the cells type (numeric, formula or string). | |||
* If the cell currently contains a value, the value will | |||
@@ -444,26 +428,23 @@ public class HSSFCell implements Cell { | |||
/** | |||
* get the cells type (numeric, formula or string) | |||
* | |||
* Will return {@link CellType} in a future version of POI. | |||
* For forwards compatibility, do not hard-code cell type literals in your code. | |||
* @deprecated 3.15. Will be return a {@link CellType} enum in the future. | |||
*/ | |||
@Override | |||
public int getCellType() | |||
public CellType getCellType() | |||
{ | |||
return getCellTypeEnum().getCode(); | |||
return _cellType; | |||
} | |||
/** | |||
* get the cells type (numeric, formula or string) | |||
* @since POI 3.15 beta 3 | |||
* Will be deleted when we make the CellType enum transition. See bug 59791. | |||
*/ | |||
@Deprecated | |||
@Removal(version = "4.2") | |||
@Override | |||
public CellType getCellTypeEnum() | |||
{ | |||
return _cellType; | |||
return getCellType(); | |||
} | |||
/** | |||
@@ -1227,7 +1208,6 @@ public class HSSFCell implements Cell { | |||
* The purpose of this method is to validate the cell state prior to modification. | |||
* </p> | |||
* | |||
* @see #setCellType(int) | |||
* @see #setCellFormula(String) | |||
* @see HSSFRow#removeCell(org.apache.poi.ss.usermodel.Cell) | |||
* @see org.apache.poi.hssf.usermodel.HSSFSheet#removeRow(org.apache.poi.ss.usermodel.Row) |
@@ -52,25 +52,22 @@ final class HSSFEvaluationCell implements EvaluationCell { | |||
public boolean getBooleanCellValue() { | |||
return _cell.getBooleanCellValue(); | |||
} | |||
/** | |||
* Will return {@link CellType} in a future version of POI. | |||
* For forwards compatibility, do not hard-code cell type literals in your code. | |||
* | |||
/** | |||
* @return cell type | |||
* @deprecated 3.15. Will return a {@link CellType} enum in the future. | |||
*/ | |||
@Override | |||
public int getCellType() { | |||
public CellType getCellType() { | |||
return _cell.getCellType(); | |||
} | |||
/** | |||
* @since POI 3.15 beta 3 | |||
* @deprecated POI 3.15 beta 3. | |||
* Will be deleted when we make the CellType enum transition. See bug 59791. | |||
*/ | |||
@Deprecated | |||
@Removal(version = "4.2") | |||
@Override | |||
public CellType getCellTypeEnum() { | |||
return _cell.getCellTypeEnum(); | |||
return getCellType(); | |||
} | |||
@Override | |||
public int getColumnIndex() { |
@@ -435,8 +435,8 @@ public class CellFormat { | |||
/** | |||
* Returns the ultimate cell type, following the results of formulas. If | |||
* the cell is a {@link CellType#FORMULA}, this returns the result of | |||
* {@link Cell#getCachedFormulaResultTypeEnum()}. Otherwise this returns the | |||
* result of {@link Cell#getCellTypeEnum()}. | |||
* {@link Cell#getCachedFormulaResultType()}. Otherwise this returns the | |||
* result of {@link Cell#getCellType()}. | |||
* | |||
* Will return {@link CellType} in a future version of POI. | |||
* For forwards compatibility, do not hard-code cell type literals in your code. | |||
@@ -453,8 +453,8 @@ public class CellFormat { | |||
/** | |||
* Returns the ultimate cell type, following the results of formulas. If | |||
* the cell is a {@link CellType#FORMULA}, this returns the result of | |||
* {@link Cell#getCachedFormulaResultTypeEnum()}. Otherwise this returns the | |||
* result of {@link Cell#getCellTypeEnum()}. | |||
* {@link Cell#getCachedFormulaResultType()}. Otherwise this returns the | |||
* result of {@link Cell#getCellType()}. | |||
* | |||
* @param cell The cell. | |||
* | |||
@@ -464,9 +464,9 @@ public class CellFormat { | |||
* Will be deleted when we make the CellType enum transition. See bug 59791. | |||
*/ | |||
public static CellType ultimateTypeEnum(Cell cell) { | |||
CellType type = cell.getCellTypeEnum(); | |||
CellType type = cell.getCellType(); | |||
if (type == CellType.FORMULA) | |||
return cell.getCachedFormulaResultTypeEnum(); | |||
return cell.getCachedFormulaResultType(); | |||
else | |||
return type; | |||
} |
@@ -39,19 +39,13 @@ public interface EvaluationCell { | |||
EvaluationSheet getSheet(); | |||
int getRowIndex(); | |||
int getColumnIndex(); | |||
/** | |||
* Will return {@link CellType} in a future version of POI. | |||
* For forwards compatibility, do not hard-code cell type literals in your code. | |||
* | |||
* @return cell type | |||
* @deprecated 3.15. Will return a {@link CellType} enum in the future. | |||
*/ | |||
int getCellType(); | |||
CellType getCellType(); | |||
/** | |||
* @since POI 3.15 beta 3 | |||
* @deprecated POI 3.15 beta 3. | |||
* Will be deleted when we make the CellType enum transition. See bug 59791. | |||
*/ | |||
@Deprecated | |||
@Removal(version = "4.2") | |||
CellType getCellTypeEnum(); | |||
double getNumericCellValue(); |
@@ -623,12 +623,12 @@ public class EvaluationConditionalFormatRule implements Comparable<EvaluationCon | |||
private ValueAndFormat getCellValue(Cell cell) { | |||
if (cell != null) { | |||
final CellType type = cell.getCellTypeEnum(); | |||
if (type == CellType.NUMERIC || (type == CellType.FORMULA && cell.getCachedFormulaResultTypeEnum() == CellType.NUMERIC) ) { | |||
final CellType type = cell.getCellType(); | |||
if (type == CellType.NUMERIC || (type == CellType.FORMULA && cell.getCachedFormulaResultType() == CellType.NUMERIC) ) { | |||
return new ValueAndFormat(new Double(cell.getNumericCellValue()), cell.getCellStyle().getDataFormatString()); | |||
} else if (type == CellType.STRING || (type == CellType.FORMULA && cell.getCachedFormulaResultTypeEnum() == CellType.STRING) ) { | |||
} else if (type == CellType.STRING || (type == CellType.FORMULA && cell.getCachedFormulaResultType() == CellType.STRING) ) { | |||
return new ValueAndFormat(cell.getStringCellValue(), cell.getCellStyle().getDataFormatString()); | |||
} else if (type == CellType.BOOLEAN || (type == CellType.FORMULA && cell.getCachedFormulaResultTypeEnum() == CellType.BOOLEAN) ) { | |||
} else if (type == CellType.BOOLEAN || (type == CellType.FORMULA && cell.getCachedFormulaResultType() == CellType.BOOLEAN) ) { | |||
return new ValueAndFormat(cell.getStringCellValue(), cell.getCellStyle().getDataFormatString()); | |||
} | |||
} |
@@ -105,25 +105,21 @@ final class ForkedEvaluationCell implements EvaluationCell { | |||
throw new RuntimeException("Wrong data type (" + _cellType + ")"); | |||
} | |||
} | |||
/** | |||
* Will return {@link CellType} in a future version of POI. | |||
* For forwards compatibility, do not hard-code cell type literals in your code. | |||
* | |||
* @return cell type | |||
* @deprecated 3.15. Will return a {@link CellType} enum in the future. | |||
*/ | |||
@Override | |||
public int getCellType() { | |||
return _cellType.getCode(); | |||
public CellType getCellType() { | |||
return _cellType; | |||
} | |||
/** | |||
* @since POI 3.15 beta 3 | |||
* @deprecated POI 3.15 beta 3. | |||
* Will be deleted when we make the CellType enum transition. See bug 59791. | |||
*/ | |||
@Deprecated | |||
@Removal(version = "4.2") | |||
@Override | |||
public CellType getCellTypeEnum() { | |||
return _cellType; | |||
return getCellType(); | |||
} | |||
@Override | |||
public boolean getBooleanCellValue() { |
@@ -41,66 +41,6 @@ import org.apache.poi.util.Removal; | |||
*/ | |||
public interface Cell { | |||
/** | |||
* Numeric Cell type (0) | |||
* @see #setCellType(int) | |||
* @see #getCellType() | |||
* @deprecated POI 3.15 beta 3. Use {@link CellType#NUMERIC} instead. | |||
*/ | |||
@Deprecated | |||
@Removal(version="4.0") | |||
int CELL_TYPE_NUMERIC = 0; //CellType.NUMERIC.getCode(); | |||
/** | |||
* String Cell type (1) | |||
* @see #setCellType(int) | |||
* @see #getCellType() | |||
* @deprecated POI 3.15 beta 3. Use {@link CellType#STRING} instead. | |||
*/ | |||
@Deprecated | |||
@Removal(version="4.0") | |||
int CELL_TYPE_STRING = 1; //CellType.STRING.getCode(); | |||
/** | |||
* Formula Cell type (2) | |||
* @see #setCellType(int) | |||
* @see #getCellType() | |||
* @deprecated POI 3.15 beta 3. Use {@link CellType#FORMULA} instead. | |||
*/ | |||
@Deprecated | |||
@Removal(version="4.0") | |||
int CELL_TYPE_FORMULA = 2; //CellType.FORMULA.getCode(); | |||
/** | |||
* Blank Cell type (3) | |||
* @see #setCellType(int) | |||
* @see #getCellType() | |||
* @deprecated POI 3.15 beta 3. Use {@link CellType#BLANK} instead. | |||
*/ | |||
@Deprecated | |||
@Removal(version="4.0") | |||
int CELL_TYPE_BLANK = 3; //CellType.BLANK.getCode(); | |||
/** | |||
* Boolean Cell type (4) | |||
* @see #setCellType(int) | |||
* @see #getCellType() | |||
* @deprecated POI 3.15 beta 3. Use {@link CellType#BOOLEAN} instead. | |||
*/ | |||
@Deprecated | |||
@Removal(version="4.0") | |||
int CELL_TYPE_BOOLEAN = 4; //CellType.BOOLEAN.getCode(); | |||
/** | |||
* Error Cell type (5) | |||
* @see #setCellType(int) | |||
* @see #getCellType() | |||
* @deprecated POI 3.15 beta 3. Use {@link CellType#ERROR} instead. | |||
*/ | |||
@Deprecated | |||
@Removal(version="4.0") | |||
int CELL_TYPE_ERROR = 5; //CellType.ERROR.getCode(); | |||
/** | |||
* Returns column index of this cell | |||
* | |||
@@ -129,29 +69,6 @@ public interface Cell { | |||
*/ | |||
Row getRow(); | |||
/** | |||
* Set the cells type (numeric, formula or string). | |||
* <p>If the cell currently contains a value, the value will | |||
* be converted to match the new type, if possible. Formatting | |||
* is generally lost in the process however.</p> | |||
* <p>If what you want to do is get a String value for your | |||
* numeric cell, <i>stop!</i>. This is not the way to do it. | |||
* Instead, for fetching the string value of a numeric or boolean | |||
* or date cell, use {@link DataFormatter} instead.</p> | |||
* | |||
* @throws IllegalArgumentException if the specified cell type is invalid | |||
* @throws IllegalStateException if the current value cannot be converted to the new type | |||
* @see CellType#NUMERIC | |||
* @see CellType#STRING | |||
* @see CellType#FORMULA | |||
* @see CellType#BLANK | |||
* @see CellType#BOOLEAN | |||
* @see CellType#ERROR | |||
* @deprecated POI 3.15 beta 3. Use {@link #setCellType(CellType)} instead. | |||
*/ | |||
@Deprecated | |||
@Removal(version="4.0") | |||
void setCellType(int cellType); | |||
/** | |||
* Set the cells type (numeric, formula or string). | |||
* <p>If the cell currently contains a value, the value will | |||
@@ -169,15 +86,10 @@ public interface Cell { | |||
/** | |||
* Return the cell type. | |||
* | |||
* Will return {@link CellType} in version 4.0 of POI. | |||
* For forwards compatibility, do not hard-code cell type literals in your code. | |||
* | |||
* @return the cell type | |||
* @deprecated POI 3.15. Will return a {@link CellType} enum in the future. | |||
*/ | |||
@Deprecated | |||
int getCellType(); | |||
CellType getCellType(); | |||
/** | |||
* Return the cell type. | |||
@@ -186,6 +98,7 @@ public interface Cell { | |||
* @since POI 3.15 beta 3 | |||
* Will be renamed to <code>getCellType()</code> when we make the CellType enum transition in POI 4.0. See bug 59791. | |||
*/ | |||
@Deprecated | |||
@Removal(version="4.2") | |||
CellType getCellTypeEnum(); | |||
@@ -88,26 +88,19 @@ public final class CellValue { | |||
* | |||
* @return the cell type | |||
* @since POI 3.15 | |||
* Will be renamed to <code>getCellTypeEnum()</code> when we make the CellType enum transition in POI 4.0. See bug 59791. | |||
* @deprecated use <code>getCellType</code> instead | |||
*/ | |||
@Deprecated | |||
@Removal(version="4.2") | |||
public CellType getCellTypeEnum() { | |||
return _cellType; | |||
} | |||
public CellType getCellTypeEnum() { return getCellType(); } | |||
/** | |||
* Return the cell type. | |||
* | |||
* Will return {@link CellType} in version 4.0 of POI. | |||
* For forwards compatibility, do not hard-code cell type literals in your code. | |||
* | |||
* @return the cell type | |||
* | |||
* @deprecated POI 3.15. Use {@link #getCellTypeEnum()} instead. | |||
*/ | |||
@Deprecated | |||
public int getCellType() { | |||
return _cellType.getCode(); | |||
public CellType getCellType() { | |||
return _cellType; | |||
} | |||
/** |
@@ -162,19 +162,19 @@ public class XSSFExcelExtractor extends POIXMLTextExtractor | |||
Cell cell = ri.next(); | |||
// Is it a formula one? | |||
if(cell.getCellTypeEnum() == CellType.FORMULA) { | |||
if(cell.getCellType() == CellType.FORMULA) { | |||
if (formulasNotResults) { | |||
String contents = cell.getCellFormula(); | |||
checkMaxTextSize(text, contents); | |||
text.append(contents); | |||
} else { | |||
if (cell.getCachedFormulaResultTypeEnum() == CellType.STRING) { | |||
if (cell.getCachedFormulaResultType() == CellType.STRING) { | |||
handleStringCell(text, cell); | |||
} else { | |||
handleNonStringCell(text, cell, formatter); | |||
} | |||
} | |||
} else if(cell.getCellTypeEnum() == CellType.STRING) { | |||
} else if(cell.getCellType() == CellType.STRING) { | |||
handleStringCell(text, cell); | |||
} else { | |||
handleNonStringCell(text, cell, formatter); | |||
@@ -236,9 +236,9 @@ public class XSSFExcelExtractor extends POIXMLTextExtractor | |||
} | |||
private void handleNonStringCell(StringBuffer text, Cell cell, DataFormatter formatter) { | |||
CellType type = cell.getCellTypeEnum(); | |||
CellType type = cell.getCellType(); | |||
if (type == CellType.FORMULA) { | |||
type = cell.getCachedFormulaResultTypeEnum(); | |||
type = cell.getCachedFormulaResultType(); | |||
} | |||
if (type == CellType.NUMERIC) { |
@@ -113,24 +113,6 @@ public class SXSSFCell implements Cell { | |||
return _row; | |||
} | |||
/** | |||
* Set the cells type (numeric, formula or string) | |||
* | |||
* @throws IllegalArgumentException if the specified cell type is invalid | |||
* @see CellType#NUMERIC | |||
* @see CellType#STRING | |||
* @see CellType#FORMULA | |||
* @see CellType#BLANK | |||
* @see CellType#BOOLEAN | |||
* @see CellType#ERROR | |||
* @deprecated POI 3.15 beta 3. Use {@link #setCellType(CellType)} instead. | |||
* Will be deleted when we make the CellType enum transition. See bug 59791. | |||
*/ | |||
@Override | |||
public void setCellType(int cellType) | |||
{ | |||
ensureType(CellType.forInt(cellType)); | |||
} | |||
/** | |||
* Set the cells type (numeric, formula or string) | |||
* | |||
@@ -146,12 +128,11 @@ public class SXSSFCell implements Cell { | |||
* Return the cell type. | |||
* | |||
* @return the cell type | |||
* @deprecated 3.15. Will return a {@link CellType} enum in the future. | |||
*/ | |||
@Override | |||
public int getCellType() | |||
public CellType getCellType() | |||
{ | |||
return getCellTypeEnum().getCode(); | |||
return _value.getType(); | |||
} | |||
/** | |||
@@ -159,12 +140,14 @@ public class SXSSFCell implements Cell { | |||
* | |||
* @return the cell type | |||
* @since POI 3.15 beta 3 | |||
* Will be deleted when we make the CellType enum transition. See bug 59791. | |||
* @deprecated use <code>getCellType</code> instead | |||
*/ | |||
@Deprecated | |||
@Removal(version = "4.2") | |||
@Override | |||
public CellType getCellTypeEnum() | |||
{ | |||
return _value.getType(); | |||
return getCellType(); | |||
} | |||
/** | |||
@@ -188,7 +171,7 @@ public class SXSSFCell implements Cell { | |||
* {@link CellType#BOOLEAN}, {@link CellType#ERROR}) depending | |||
* on the cached value of the formula | |||
* @since POI 3.15 beta 3 | |||
* @deprecated use <code>getCachedFormulaResultTypeEnum</code> instead | |||
* @deprecated use <code>getCachedFormulaResultType</code> instead | |||
*/ | |||
@Deprecated | |||
@Removal(version = "4.2") | |||
@@ -999,7 +982,7 @@ public class SXSSFCell implements Cell { | |||
CellType cellType = getCellTypeEnum(); | |||
if (cellType == CellType.FORMULA) { | |||
cellType = getCachedFormulaResultTypeEnum(); | |||
cellType = getCachedFormulaResultType(); | |||
} | |||
switch (cellType) { |
@@ -55,21 +55,19 @@ final class SXSSFEvaluationCell implements EvaluationCell { | |||
return _cell.getBooleanCellValue(); | |||
} | |||
/** | |||
* Will return {@link CellType} in a future version of POI. | |||
* For forwards compatibility, do not hard-code cell type literals in your code. | |||
* | |||
* @return cell type | |||
* @deprecated 3.17. Will return a {@link CellType} enum in the future. | |||
*/ | |||
@Override | |||
public int getCellType() { | |||
public CellType getCellType() { | |||
return _cell.getCellType(); | |||
} | |||
/** | |||
* @since POI 3.15 beta 3 | |||
* @deprecated POI 3.15 beta 3. | |||
* @deprecated use <code>getCellType</code> instead | |||
* Will be deleted when we make the CellType enum transition. See bug 59791. | |||
*/ | |||
@Deprecated | |||
@Removal(version = "4.2") | |||
@Internal(since="POI 3.15 beta 3") | |||
@Override | |||
public CellType getCellTypeEnum() { | |||
@@ -115,7 +113,7 @@ final class SXSSFEvaluationCell implements EvaluationCell { | |||
*/ | |||
@Override | |||
public CellType getCachedFormulaResultType() { | |||
return _cell.getCachedFormulaResultTypeEnum(); | |||
return _cell.getCachedFormulaResultType(); | |||
} | |||
/** | |||
* @since POI 3.15 beta 3 |
@@ -139,11 +139,11 @@ public final class XSSFCell implements Cell { | |||
// Copy cell value (cell type is updated implicitly) | |||
if (policy.isCopyCellValue()) { | |||
if (srcCell != null) { | |||
CellType copyCellType = srcCell.getCellTypeEnum(); | |||
CellType copyCellType = srcCell.getCellType(); | |||
if (copyCellType == CellType.FORMULA && !policy.isCopyCellFormula()) { | |||
// Copy formula result as value | |||
// FIXME: Cached value may be stale | |||
copyCellType = srcCell.getCachedFormulaResultTypeEnum(); | |||
copyCellType = srcCell.getCachedFormulaResultType(); | |||
} | |||
switch (copyCellType) { | |||
case NUMERIC: | |||
@@ -172,7 +172,7 @@ public final class XSSFCell implements Cell { | |||
break; | |||
default: | |||
throw new IllegalArgumentException("Invalid cell type " + srcCell.getCellTypeEnum()); | |||
throw new IllegalArgumentException("Invalid cell type " + srcCell.getCellType()); | |||
} | |||
} else { //srcCell is null | |||
setBlank(); | |||
@@ -238,12 +238,12 @@ public final class XSSFCell implements Cell { | |||
* For strings, numbers, and errors, we throw an exception. For blank cells we return a false. | |||
* </p> | |||
* @return the value of the cell as a boolean | |||
* @throws IllegalStateException if the cell type returned by {@link #getCellTypeEnum()} | |||
* @throws IllegalStateException if the cell type returned by {@link #getCellType()} | |||
* is not {@link CellType#BOOLEAN}, {@link CellType#BLANK} or {@link CellType#FORMULA} | |||
*/ | |||
@Override | |||
public boolean getBooleanCellValue() { | |||
CellType cellType = getCellTypeEnum(); | |||
CellType cellType = getCellType(); | |||
switch(cellType) { | |||
case BLANK: | |||
return false; | |||
@@ -277,13 +277,13 @@ public final class XSSFCell implements Cell { | |||
* For formulas or error cells we return the precalculated value; | |||
* </p> | |||
* @return the value of the cell as a number | |||
* @throws IllegalStateException if the cell type returned by {@link #getCellTypeEnum()} is {@link CellType#STRING} | |||
* @throws IllegalStateException if the cell type returned by {@link #getCellType()} is {@link CellType#STRING} | |||
* @exception NumberFormatException if the cell value isn't a parsable <code>double</code>. | |||
* @see DataFormatter for turning this number into a string similar to that which Excel would render this number as. | |||
*/ | |||
@Override | |||
public double getNumericCellValue() { | |||
CellType cellType = getCellTypeEnum(); | |||
CellType cellType = getCellType(); | |||
switch(cellType) { | |||
case BLANK: | |||
return 0.0; | |||
@@ -357,7 +357,7 @@ public final class XSSFCell implements Cell { | |||
*/ | |||
@Override | |||
public XSSFRichTextString getRichStringCellValue() { | |||
CellType cellType = getCellTypeEnum(); | |||
CellType cellType = getCellType(); | |||
XSSFRichTextString rt; | |||
switch (cellType) { | |||
case BLANK: | |||
@@ -436,7 +436,7 @@ public final class XSSFCell implements Cell { | |||
throw new IllegalArgumentException("The maximum length of cell contents (text) is 32,767 characters"); | |||
} | |||
CellType cellType = getCellTypeEnum(); | |||
CellType cellType = getCellType(); | |||
switch (cellType){ | |||
case FORMULA: | |||
_cell.setV(str.getString()); | |||
@@ -461,7 +461,7 @@ public final class XSSFCell implements Cell { | |||
* Return a formula for the cell, for example, <code>SUM(C4:E4)</code> | |||
* | |||
* @return a formula for the cell | |||
* @throws IllegalStateException if the cell type returned by {@link #getCellTypeEnum()} is not {@link CellType#FORMULA} | |||
* @throws IllegalStateException if the cell type returned by {@link #getCellType()} is not {@link CellType#FORMULA} | |||
*/ | |||
@Override | |||
public String getCellFormula() { | |||
@@ -474,10 +474,10 @@ public final class XSSFCell implements Cell { | |||
* | |||
* @param fpb evaluation workbook for reuse, if available, or null to create a new one as needed | |||
* @return a formula for the cell | |||
* @throws IllegalStateException if the cell type returned by {@link #getCellTypeEnum()} is not {@link CellType#FORMULA} | |||
* @throws IllegalStateException if the cell type returned by {@link #getCellType()} is not {@link CellType#FORMULA} | |||
*/ | |||
protected String getCellFormula(XSSFEvaluationWorkbook fpb) { | |||
CellType cellType = getCellTypeEnum(); | |||
CellType cellType = getCellType(); | |||
if(cellType != CellType.FORMULA) { | |||
throw typeMismatch(CellType.FORMULA, cellType, false); | |||
} | |||
@@ -676,19 +676,22 @@ public final class XSSFCell implements Cell { | |||
} | |||
/** | |||
* Return the cell type. | |||
* | |||
* Will return {@link CellType} in a future version of POI. | |||
* For forwards compatibility, do not hard-code cell type literals in your code. | |||
* Return the cell type. Tables in an array formula return | |||
* {@link CellType#FORMULA} for all cells, even though the formula is only defined | |||
* in the OOXML file for the top left cell of the array. | |||
* <p> | |||
* NOTE: POI does not support data table formulas. | |||
* Cells in a data table appear to POI as plain cells typed from their cached value. | |||
* | |||
* @return the cell type | |||
* @deprecated 3.15. Will return a {@link CellType} enum in the future. | |||
*/ | |||
@Deprecated | |||
@Override | |||
@Removal(version="3.17") | |||
public int getCellType() { | |||
return getCellTypeEnum().getCode(); | |||
public CellType getCellType() { | |||
if (isFormulaCell()) { | |||
return CellType.FORMULA; | |||
} | |||
return getBaseCellType(true); | |||
} | |||
/** | |||
@@ -701,15 +704,13 @@ public final class XSSFCell implements Cell { | |||
* | |||
* @return the cell type | |||
* @since POI 3.15 beta 3 | |||
* Will be deleted when we make the CellType enum transition. See bug 59791. | |||
* @deprecated use <code>getCellType</code> instead | |||
*/ | |||
@Deprecated | |||
@Removal(version = "4.2") | |||
@Override | |||
public CellType getCellTypeEnum() { | |||
if (isFormulaCell()) { | |||
return CellType.FORMULA; | |||
} | |||
return getBaseCellType(true); | |||
return getCellType(); | |||
} | |||
/** | |||
@@ -777,13 +778,13 @@ public final class XSSFCell implements Cell { | |||
* For strings we throw an exception. For blank cells we return a null. | |||
* </p> | |||
* @return the value of the cell as a date | |||
* @throws IllegalStateException if the cell type returned by {@link #getCellTypeEnum()} is {@link CellType#STRING} | |||
* @throws IllegalStateException if the cell type returned by {@link #getCellType()} is {@link CellType#STRING} | |||
* @exception NumberFormatException if the cell value isn't a parsable <code>double</code>. | |||
* @see DataFormatter for formatting this date into a string similar to how excel does. | |||
*/ | |||
@Override | |||
public Date getDateCellValue() { | |||
if (getCellTypeEnum() == CellType.BLANK) { | |||
if (getCellType() == CellType.BLANK) { | |||
return null; | |||
} | |||
@@ -842,7 +843,7 @@ public final class XSSFCell implements Cell { | |||
* Returns the error message, such as #VALUE! | |||
* | |||
* @return the error message such as #VALUE! | |||
* @throws IllegalStateException if the cell type returned by {@link #getCellTypeEnum()} isn't {@link CellType#ERROR} | |||
* @throws IllegalStateException if the cell type returned by {@link #getCellType()} isn't {@link CellType#ERROR} | |||
* @see FormulaError | |||
*/ | |||
public String getErrorCellString() throws IllegalStateException { | |||
@@ -861,7 +862,7 @@ public final class XSSFCell implements Cell { | |||
* </p> | |||
* | |||
* @return the value of the cell as an error code | |||
* @throws IllegalStateException if the cell type returned by {@link #getCellTypeEnum()} isn't {@link CellType #ERROR} | |||
* @throws IllegalStateException if the cell type returned by {@link #getCellType()} isn't {@link CellType #ERROR} | |||
* @see FormulaError | |||
*/ | |||
@Override | |||
@@ -938,24 +939,6 @@ public final class XSSFCell implements Cell { | |||
_cell.setR(ref); | |||
} | |||
/** | |||
* Set the cells type (numeric, formula or string) | |||
* | |||
* @throws IllegalArgumentException if the specified cell type is invalid | |||
* @see CellType#NUMERIC | |||
* @see CellType#STRING | |||
* @see CellType#FORMULA | |||
* @see CellType#BLANK | |||
* @see CellType#BOOLEAN | |||
* @see CellType#ERROR | |||
* @deprecated POI 3.15 beta 3. Use {@link #setCellType(CellType)} instead. | |||
*/ | |||
@Deprecated | |||
@Override | |||
@Removal(version="3.17") | |||
public void setCellType(int cellType) { | |||
setCellType(CellType.forInt(cellType)); | |||
} | |||
/** | |||
* Set the cells type (numeric, formula or string) | |||
* | |||
@@ -963,7 +946,7 @@ public final class XSSFCell implements Cell { | |||
*/ | |||
@Override | |||
public void setCellType(CellType cellType) { | |||
CellType prevType = getCellTypeEnum(); | |||
CellType prevType = getCellType(); | |||
if(isPartOfArrayFormulaGroup()){ | |||
notifyArrayFormulaChanging(); | |||
@@ -1028,7 +1011,7 @@ public final class XSSFCell implements Cell { | |||
*/ | |||
@Override | |||
public String toString() { | |||
switch (getCellTypeEnum()) { | |||
switch (getCellType()) { | |||
case NUMERIC: | |||
if (DateUtil.isCellDateFormatted(this)) { | |||
DateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy", LocaleUtil.getUserLocale()); | |||
@@ -1047,7 +1030,7 @@ public final class XSSFCell implements Cell { | |||
case ERROR: | |||
return ErrorEval.getText(getErrorCellValue()); | |||
default: | |||
return "Unknown Cell Type: " + getCellTypeEnum(); | |||
return "Unknown Cell Type: " + getCellType(); | |||
} | |||
} | |||
@@ -1196,10 +1179,10 @@ public final class XSSFCell implements Cell { | |||
* Usually the caller is calling setCellType() with the intention of calling | |||
* setCellValue(boolean) straight afterwards. This method only exists to give | |||
* the cell a somewhat reasonable value until the setCellValue() call (if at all). | |||
* TODO - perhaps a method like setCellTypeAndValue(int, Object) should be introduced to avoid this | |||
* TODO - perhaps a method like setCellTypeAndValue(CellType, Object) should be introduced to avoid this | |||
*/ | |||
private boolean convertCellValueToBoolean() { | |||
CellType cellType = getCellTypeEnum(); | |||
CellType cellType = getCellType(); | |||
if (cellType == CellType.FORMULA) { | |||
cellType = getBaseCellType(false); | |||
@@ -1227,7 +1210,7 @@ public final class XSSFCell implements Cell { | |||
} | |||
private String convertCellValueToString() { | |||
CellType cellType = getCellTypeEnum(); | |||
CellType cellType = getCellType(); | |||
switch (cellType) { | |||
case BLANK: | |||
@@ -1312,7 +1295,7 @@ public final class XSSFCell implements Cell { | |||
* The purpose of this method is to validate the cell state prior to modification. | |||
* </p> | |||
* | |||
* @see #setCellType(int) | |||
* @see #setCellType(CellType) | |||
* @see #setCellFormula(String) | |||
* @see XSSFRow#removeCell(org.apache.poi.ss.usermodel.Cell) | |||
* @see org.apache.poi.xssf.usermodel.XSSFSheet#removeRow(org.apache.poi.ss.usermodel.Row) |
@@ -55,25 +55,22 @@ final class XSSFEvaluationCell implements EvaluationCell { | |||
public boolean getBooleanCellValue() { | |||
return _cell.getBooleanCellValue(); | |||
} | |||
/** | |||
* Will return {@link CellType} in a future version of POI. | |||
* For forwards compatibility, do not hard-code cell type literals in your code. | |||
* | |||
/** | |||
* @return cell type | |||
* @deprecated 3.15. Will return a {@link CellType} enum in the future. | |||
*/ | |||
@Override | |||
public int getCellType() { | |||
public CellType getCellType() { | |||
return _cell.getCellType(); | |||
} | |||
/** | |||
* @since POI 3.15 beta 3 | |||
* @deprecated POI 3.15 beta 3. | |||
* Will be deleted when we make the CellType enum transition. See bug 59791. | |||
* @deprecated use <code>getCellType</code> instead | |||
*/ | |||
@Deprecated | |||
@Removal(version = "4.2") | |||
@Override | |||
public CellType getCellTypeEnum() { | |||
return _cell.getCellTypeEnum(); | |||
return getCellType(); | |||
} | |||
@Override | |||
public int getColumnIndex() { | |||
@@ -115,11 +112,11 @@ final class XSSFEvaluationCell implements EvaluationCell { | |||
*/ | |||
@Override | |||
public CellType getCachedFormulaResultType() { | |||
return _cell.getCachedFormulaResultTypeEnum(); | |||
return _cell.getCachedFormulaResultType(); | |||
} | |||
/** | |||
* @since POI 3.15 beta 3 | |||
* @deprecated POI 3.15 beta 3. | |||
* @deprecated use <code>getCachedFormulaResultType</code> instead | |||
* Will be deleted when we make the CellType enum transition. See bug 59791. | |||
*/ | |||
@Deprecated |
@@ -121,14 +121,14 @@ public abstract class AbstractExcelConverter | |||
protected boolean isTextEmpty( HSSFCell cell ) | |||
{ | |||
final String value; | |||
switch ( cell.getCellTypeEnum() ) | |||
switch ( cell.getCellType() ) | |||
{ | |||
case STRING: | |||
// XXX: enrich | |||
value = cell.getRichStringCellValue().getString(); | |||
break; | |||
case FORMULA: | |||
switch ( cell.getCachedFormulaResultTypeEnum() ) | |||
switch ( cell.getCachedFormulaResultType() ) | |||
{ | |||
case STRING: | |||
HSSFRichTextString str = cell.getRichStringCellValue(); |
@@ -209,14 +209,14 @@ public class ExcelToFoConverter extends AbstractExcelConverter | |||
final HSSFCellStyle cellStyle = cell.getCellStyle(); | |||
String value; | |||
switch ( cell.getCellTypeEnum() ) | |||
switch ( cell.getCellType() ) | |||
{ | |||
case STRING: | |||
// XXX: enrich | |||
value = cell.getRichStringCellValue().getString(); | |||
break; | |||
case FORMULA: | |||
switch ( cell.getCachedFormulaResultTypeEnum() ) | |||
switch ( cell.getCachedFormulaResultType() ) | |||
{ | |||
case STRING: | |||
HSSFRichTextString str = cell.getRichStringCellValue(); | |||
@@ -245,7 +245,7 @@ public class ExcelToFoConverter extends AbstractExcelConverter | |||
logger.log( | |||
POILogger.WARN, | |||
"Unexpected cell cachedFormulaResultType (" | |||
+ cell.getCachedFormulaResultTypeEnum() + ")" ); | |||
+ cell.getCachedFormulaResultType() + ")" ); | |||
value = ExcelToHtmlUtils.EMPTY; | |||
break; | |||
} | |||
@@ -264,7 +264,7 @@ public class ExcelToFoConverter extends AbstractExcelConverter | |||
break; | |||
default: | |||
logger.log( POILogger.WARN, | |||
"Unexpected cell type (" + cell.getCellTypeEnum() + ")" ); | |||
"Unexpected cell type (" + cell.getCellType() + ")" ); | |||
return true; | |||
} | |||
@@ -322,14 +322,14 @@ public class ExcelToHtmlConverter extends AbstractExcelConverter | |||
final HSSFCellStyle cellStyle = cell.getCellStyle(); | |||
String value; | |||
switch ( cell.getCellTypeEnum() ) | |||
switch ( cell.getCellType() ) | |||
{ | |||
case STRING: | |||
// XXX: enrich | |||
value = cell.getRichStringCellValue().getString(); | |||
break; | |||
case FORMULA: | |||
switch ( cell.getCachedFormulaResultTypeEnum() ) | |||
switch ( cell.getCachedFormulaResultType() ) | |||
{ | |||
case STRING: | |||
HSSFRichTextString str = cell.getRichStringCellValue(); | |||
@@ -358,7 +358,7 @@ public class ExcelToHtmlConverter extends AbstractExcelConverter | |||
logger.log( | |||
POILogger.WARN, | |||
"Unexpected cell cachedFormulaResultType (" | |||
+ cell.getCachedFormulaResultTypeEnum() + ")" ); | |||
+ cell.getCachedFormulaResultType() + ")" ); | |||
value = ExcelToHtmlUtils.EMPTY; | |||
break; | |||
} | |||
@@ -377,7 +377,7 @@ public class ExcelToHtmlConverter extends AbstractExcelConverter | |||
break; | |||
default: | |||
logger.log( POILogger.WARN, | |||
"Unexpected cell type (" + cell.getCellTypeEnum() + ")" ); | |||
"Unexpected cell type (" + cell.getCellType() + ")" ); | |||
return true; | |||
} | |||
@@ -507,7 +507,7 @@ public final class TestBugs extends BaseTestBugzillaIssues { | |||
HSSFRow row = sheet.getRow(i); | |||
if (row != null) { | |||
HSSFCell cell = row.getCell(0); | |||
assertEquals(CellType.STRING, cell.getCellTypeEnum()); | |||
assertEquals(CellType.STRING, cell.getCellType()); | |||
count++; | |||
} | |||
} | |||
@@ -1143,9 +1143,9 @@ public final class TestBugs extends BaseTestBugzillaIssues { | |||
// Now evaluate, they should all be changed | |||
HSSFFormulaEvaluator eval = new HSSFFormulaEvaluator(wb1); | |||
eval.evaluateFormulaCellEnum(c1); | |||
eval.evaluateFormulaCellEnum(c2); | |||
eval.evaluateFormulaCellEnum(c3); | |||
eval.evaluateFormulaCell(c1); | |||
eval.evaluateFormulaCell(c2); | |||
eval.evaluateFormulaCell(c3); | |||
// Check that the cells now contain | |||
// the correct values | |||
@@ -1192,14 +1192,14 @@ public final class TestBugs extends BaseTestBugzillaIssues { | |||
} | |||
private static void confirmCachedValue(double expectedValue, HSSFCell cell) { | |||
assertEquals(CellType.FORMULA, cell.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cell.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.FORMULA, cell.getCellType()); | |||
assertEquals(CellType.NUMERIC, cell.getCachedFormulaResultType()); | |||
assertEquals(expectedValue, cell.getNumericCellValue(), 0.0); | |||
} | |||
private static void confirmCachedValue(String expectedValue, HSSFCell cell) { | |||
assertEquals(CellType.FORMULA, cell.getCellTypeEnum()); | |||
assertEquals(CellType.STRING, cell.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.FORMULA, cell.getCellType()); | |||
assertEquals(CellType.STRING, cell.getCachedFormulaResultType()); | |||
assertEquals(expectedValue, cell.getRichStringCellValue().getString()); | |||
} | |||
@@ -1313,7 +1313,7 @@ public final class TestBugs extends BaseTestBugzillaIssues { | |||
s = wb.getSheet("OneVariable Table Completed"); | |||
r = s.getRow(3); | |||
c = r.getCell(4); | |||
assertEquals(CellType.FORMULA, c.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, c.getCellType()); | |||
// TODO - check the formula once tables and | |||
// arrays are properly supported | |||
@@ -1323,7 +1323,7 @@ public final class TestBugs extends BaseTestBugzillaIssues { | |||
s = wb.getSheet("TwoVariable Table Example"); | |||
r = s.getRow(3); | |||
c = r.getCell(4); | |||
assertEquals(CellType.FORMULA, c.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, c.getCellType()); | |||
// TODO - check the formula once tables and | |||
// arrays are properly supported | |||
@@ -1850,26 +1850,26 @@ public final class TestBugs extends BaseTestBugzillaIssues { | |||
HSSFRow row; | |||
row = s.getRow(0); | |||
assertEquals(CellType.NUMERIC, row.getCell(1).getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, row.getCell(1).getCellType()); | |||
assertEquals(112.0, row.getCell(1).getNumericCellValue(), 0); | |||
row = s.getRow(1); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellType()); | |||
assertEquals("B1", row.getCell(1).getCellFormula()); | |||
assertEquals(112.0, row.getCell(1).getNumericCellValue(), 0); | |||
row = s.getRow(2); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellType()); | |||
assertEquals("Sheet1!B1", row.getCell(1).getCellFormula()); | |||
assertEquals(112.0, row.getCell(1).getNumericCellValue(), 0); | |||
row = s.getRow(3); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellType()); | |||
assertEquals("[Formulas2.xls]Sheet1!B2", row.getCell(1).getCellFormula()); | |||
assertEquals(112.0, row.getCell(1).getNumericCellValue(), 0); | |||
row = s.getRow(4); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellType()); | |||
assertEquals("'[$http://gagravarr.org/FormulaRefs.xls]Sheet1'!B1", row.getCell(1).getCellFormula()); | |||
assertEquals(112.0, row.getCell(1).getNumericCellValue(), 0); | |||
@@ -1899,31 +1899,31 @@ public final class TestBugs extends BaseTestBugzillaIssues { | |||
s = wb2.getSheetAt(0); | |||
row = s.getRow(0); | |||
assertEquals(CellType.NUMERIC, row.getCell(1).getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, row.getCell(1).getCellType()); | |||
assertEquals(112.0, row.getCell(1).getNumericCellValue(), 0); | |||
row = s.getRow(1); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellType()); | |||
assertEquals("B1", row.getCell(1).getCellFormula()); | |||
assertEquals(112.0, row.getCell(1).getNumericCellValue(), 0); | |||
row = s.getRow(2); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellType()); | |||
assertEquals("Sheet1!B1", row.getCell(1).getCellFormula()); | |||
assertEquals(112.0, row.getCell(1).getNumericCellValue(), 0); | |||
row = s.getRow(3); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellType()); | |||
assertEquals("[Formulas2.xls]Sheet1!B2", row.getCell(1).getCellFormula()); | |||
assertEquals(112.0, row.getCell(1).getNumericCellValue(), 0); | |||
row = s.getRow(4); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellType()); | |||
assertEquals("'[$http://gagravarr.org/FormulaRefs2.xls]Sheet1'!B2", row.getCell(1).getCellFormula()); | |||
assertEquals(123.0, row.getCell(1).getNumericCellValue(), 0); | |||
row = s.getRow(5); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, row.getCell(1).getCellType()); | |||
assertEquals("'[$http://example.com/FormulaRefs.xls]Sheet1'!B1", row.getCell(1).getCellFormula()); | |||
assertEquals(234.0, row.getCell(1).getNumericCellValue(), 0); | |||
@@ -2795,12 +2795,12 @@ public final class TestBugs extends BaseTestBugzillaIssues { | |||
} | |||
private void assertFormula(Workbook wb, Cell intF, String expectedFormula, String expectedResultOrNull) { | |||
assertEquals(CellType.FORMULA, intF.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, intF.getCellType()); | |||
if (null == expectedResultOrNull) { | |||
assertEquals(CellType.ERROR, intF.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.ERROR, intF.getCachedFormulaResultType()); | |||
expectedResultOrNull = "#VALUE!"; | |||
} else { | |||
assertEquals(CellType.NUMERIC, intF.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.NUMERIC, intF.getCachedFormulaResultType()); | |||
} | |||
assertEquals(expectedFormula, intF.getCellFormula()); | |||
@@ -3026,12 +3026,12 @@ public final class TestBugs extends BaseTestBugzillaIssues { | |||
Sheet sheet = wb.getSheetAt(0); | |||
Row row = sheet.getRow(0); | |||
Cell cell = row.getCell(0); | |||
assertEquals(CellType.FORMULA, cell.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, cell.getCellType()); | |||
assertEquals("IF(TRUE,\"\",\"\")", cell.getCellFormula()); | |||
assertEquals("", cell.getStringCellValue()); | |||
cell.setCellType(CellType.STRING); | |||
assertEquals(CellType.BLANK, cell.getCellTypeEnum()); | |||
assertEquals(CellType.BLANK, cell.getCellType()); | |||
try { | |||
assertNull(cell.getCellFormula()); | |||
fail("Should throw an exception here"); |
@@ -55,7 +55,7 @@ public final class TestHSSFFormulaEvaluator extends BaseTestFormulaEvaluator { | |||
HSSFCell cell = sheet.getRow(8).getCell(0); | |||
HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb); | |||
CellValue cv = fe.evaluate(cell); | |||
assertEquals(CellType.NUMERIC, cv.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cv.getCellType()); | |||
assertEquals(3.72, cv.getNumberValue(), 0.0); | |||
wb.close(); | |||
} | |||
@@ -127,7 +127,7 @@ public final class TestHSSFFormulaEvaluator extends BaseTestFormulaEvaluator { | |||
try { | |||
value = hsf.evaluate(cellA1); | |||
assertEquals(CellType.NUMERIC, value.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, value.getCellType()); | |||
assertEquals(5.33, value.getNumberValue(), 0.0); | |||
} catch (RuntimeException e) { | |||
@@ -199,8 +199,8 @@ public final class TestHSSFFormulaEvaluator extends BaseTestFormulaEvaluator { | |||
// VLookup on a name in another file | |||
cell = wb1.getSheetAt(0).getRow(1).getCell(2); | |||
assertEquals(CellType.FORMULA, cell.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cell.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.FORMULA, cell.getCellType()); | |||
assertEquals(CellType.NUMERIC, cell.getCachedFormulaResultType()); | |||
assertEquals(12.30, cell.getNumericCellValue(), 0.0001); | |||
// WARNING - this is wrong! | |||
// The file name should be showing, but bug #45970 is fixed | |||
@@ -210,8 +210,8 @@ public final class TestHSSFFormulaEvaluator extends BaseTestFormulaEvaluator { | |||
// Simple reference to a name in another file | |||
cell = wb1.getSheetAt(0).getRow(1).getCell(4); | |||
assertEquals(CellType.FORMULA, cell.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cell.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.FORMULA, cell.getCellType()); | |||
assertEquals(CellType.NUMERIC, cell.getCachedFormulaResultType()); | |||
assertEquals(36.90, cell.getNumericCellValue(), 0.0001); | |||
// TODO Correct this! | |||
// The file name should be shown too, see bug #56742 | |||
@@ -237,14 +237,14 @@ public final class TestHSSFFormulaEvaluator extends BaseTestFormulaEvaluator { | |||
// Re-check VLOOKUP one | |||
cell = wb1.getSheetAt(0).getRow(1).getCell(2); | |||
assertEquals(CellType.FORMULA, cell.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cell.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.FORMULA, cell.getCellType()); | |||
assertEquals(CellType.NUMERIC, cell.getCachedFormulaResultType()); | |||
assertEquals(12.30, cell.getNumericCellValue(), 0.0001); | |||
// Re-check ref one | |||
cell = wb1.getSheetAt(0).getRow(1).getCell(4); | |||
assertEquals(CellType.FORMULA, cell.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cell.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.FORMULA, cell.getCellType()); | |||
assertEquals(CellType.NUMERIC, cell.getCachedFormulaResultType()); | |||
assertEquals(36.90, cell.getNumericCellValue(), 0.0001); | |||
@@ -199,7 +199,7 @@ public class TestWorkbookEvaluator { | |||
} catch (RuntimeException e) { | |||
fail("Missing arg result not being handled correctly."); | |||
} | |||
assertEquals(CellType.NUMERIC, cv.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cv.getCellType()); | |||
// adding blank to 1.0 gives 1.0 | |||
assertEquals(1.0, cv.getNumberValue(), 0.0); | |||
@@ -207,7 +207,7 @@ public class TestWorkbookEvaluator { | |||
cell.setCellFormula("\"abc\"&IF(1,,)"); | |||
fe.notifySetFormula(cell); | |||
cv = fe.evaluate(cell); | |||
assertEquals(CellType.STRING, cv.getCellTypeEnum()); | |||
assertEquals(CellType.STRING, cv.getCellType()); | |||
// adding blank to "abc" gives "abc" | |||
assertEquals("abc", cv.getStringValue()); | |||
@@ -215,7 +215,7 @@ public class TestWorkbookEvaluator { | |||
cell.setCellFormula("\"abc\"&CHOOSE(2,5,,9)"); | |||
fe.notifySetFormula(cell); | |||
cv = fe.evaluate(cell); | |||
assertEquals(CellType.STRING, cv.getCellTypeEnum()); | |||
assertEquals(CellType.STRING, cv.getCellType()); | |||
// adding blank to "abc" gives "abc" | |||
assertEquals("abc", cv.getStringValue()); | |||
} | |||
@@ -240,14 +240,14 @@ public class TestWorkbookEvaluator { | |||
} | |||
throw new RuntimeException(e); | |||
} | |||
assertEquals(CellType.ERROR, cv.getCellTypeEnum()); | |||
assertEquals(CellType.ERROR, cv.getCellType()); | |||
assertEquals(ErrorEval.VALUE_INVALID.getErrorCode(), cv.getErrorValue()); | |||
// verify circular refs are still detected properly | |||
fe.clearAllCachedResultValues(); | |||
cell.setCellFormula("OFFSET(A1,0,0)"); | |||
cv = fe.evaluate(cell); | |||
assertEquals(CellType.ERROR, cv.getCellTypeEnum()); | |||
assertEquals(CellType.ERROR, cv.getCellType()); | |||
assertEquals(ErrorEval.CIRCULAR_REF_ERROR.getErrorCode(), cv.getErrorValue()); | |||
} finally { | |||
wb.close(); | |||
@@ -387,10 +387,10 @@ public class TestWorkbookEvaluator { | |||
CellValue result = eval.evaluate(D1); | |||
// Call should not modify the contents | |||
assertEquals(CellType.FORMULA, D1.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, D1.getCellType()); | |||
assertEquals(expectedFormula, D1.getCellFormula()); | |||
assertEquals(CellType.NUMERIC, result.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, result.getCellType()); | |||
assertEquals(expectedResult, result.getNumberValue(), EPSILON); | |||
testIFEqualsFormulaEvaluation_teardown(wb); | |||
@@ -536,10 +536,10 @@ public class TestWorkbookEvaluator { | |||
CellType resultCellType = eval.evaluateFormulaCellEnum(D1); | |||
// Call should modify the contents, but leave the formula intact | |||
assertEquals(CellType.FORMULA, D1.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, D1.getCellType()); | |||
assertEquals(expectedFormula, D1.getCellFormula()); | |||
assertEquals(CellType.NUMERIC, resultCellType); | |||
assertEquals(CellType.NUMERIC, D1.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.NUMERIC, D1.getCachedFormulaResultType()); | |||
assertEquals(expectedResult, D1.getNumericCellValue(), EPSILON); | |||
testIFEqualsFormulaEvaluation_teardown(wb); | |||
@@ -561,7 +561,7 @@ public class TestWorkbookEvaluator { | |||
} catch (final IllegalStateException expected) { | |||
// expected here | |||
} | |||
assertEquals(CellType.NUMERIC, D1.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, D1.getCellType()); | |||
assertEquals(expectedResult, D1.getNumericCellValue(), EPSILON); | |||
testIFEqualsFormulaEvaluation_teardown(wb); | |||
@@ -576,10 +576,10 @@ public class TestWorkbookEvaluator { | |||
eval.evaluateAll(); | |||
// Call should modify the contents | |||
assertEquals(CellType.FORMULA, D1.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, D1.getCellType()); | |||
assertEquals(expectedFormula, D1.getCellFormula()); | |||
assertEquals(CellType.NUMERIC, D1.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.NUMERIC, D1.getCachedFormulaResultType()); | |||
assertEquals(expectedResult, D1.getNumericCellValue(), EPSILON); | |||
testIFEqualsFormulaEvaluation_teardown(wb); | |||
@@ -593,11 +593,11 @@ public class TestWorkbookEvaluator { | |||
HSSFFormulaEvaluator.evaluateAllFormulaCells(wb); | |||
// Call should modify the contents | |||
assertEquals(CellType.FORMULA, D1.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, D1.getCellType()); | |||
// whitespace gets deleted because formula is parsed and re-rendered | |||
assertEquals(expectedFormula, D1.getCellFormula()); | |||
assertEquals(CellType.NUMERIC, D1.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.NUMERIC, D1.getCachedFormulaResultType()); | |||
assertEquals(expectedResult, D1.getNumericCellValue(), EPSILON); | |||
testIFEqualsFormulaEvaluation_teardown(wb); |
@@ -131,7 +131,7 @@ public class TestRandBetween extends TestCase { | |||
formulaCell.setCellFormula("RANDBETWEEN($A$1,$B$1)"); | |||
evaluator.clearAllCachedResultValues(); | |||
evaluator.evaluateFormulaCellEnum(formulaCell); | |||
assertEquals(CellType.ERROR, formulaCell.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.ERROR, formulaCell.getCachedFormulaResultType()); | |||
assertEquals(ErrorEval.VALUE_INVALID.getErrorCode(), formulaCell.getErrorCellValue()); | |||
@@ -141,7 +141,7 @@ public class TestRandBetween extends TestCase { | |||
formulaCell.setCellFormula("RANDBETWEEN($A$1,$B$1)"); | |||
evaluator.clearAllCachedResultValues(); | |||
evaluator.evaluateFormulaCellEnum(formulaCell); | |||
assertEquals(CellType.ERROR, formulaCell.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.ERROR, formulaCell.getCachedFormulaResultType()); | |||
assertEquals(ErrorEval.VALUE_INVALID.getErrorCode(), formulaCell.getErrorCellValue()); | |||
// Check case where both inputs are of wrong type | |||
@@ -150,7 +150,7 @@ public class TestRandBetween extends TestCase { | |||
formulaCell.setCellFormula("RANDBETWEEN($A$1,$B$1)"); | |||
evaluator.clearAllCachedResultValues(); | |||
evaluator.evaluateFormulaCellEnum(formulaCell); | |||
assertEquals(CellType.ERROR, formulaCell.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.ERROR, formulaCell.getCachedFormulaResultType()); | |||
assertEquals(ErrorEval.VALUE_INVALID.getErrorCode(), formulaCell.getErrorCellValue()); | |||
} | |||
@@ -166,14 +166,14 @@ public class TestRandBetween extends TestCase { | |||
formulaCell.setCellFormula("RANDBETWEEN($A$1,$B$1)"); | |||
evaluator.clearAllCachedResultValues(); | |||
evaluator.evaluateFormulaCellEnum(formulaCell); | |||
assertEquals(CellType.ERROR, formulaCell.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.ERROR, formulaCell.getCachedFormulaResultType()); | |||
assertEquals(ErrorEval.NUM_ERROR.getErrorCode(), formulaCell.getErrorCellValue()); | |||
bottomValueCell.setCellValue(1); | |||
topValueCell.setCellType(CellType.BLANK); | |||
formulaCell.setCellFormula("RANDBETWEEN($A$1,$B$1)"); | |||
evaluator.clearAllCachedResultValues(); | |||
evaluator.evaluateFormulaCellEnum(formulaCell); | |||
assertEquals(CellType.ERROR, formulaCell.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.ERROR, formulaCell.getCachedFormulaResultType()); | |||
assertEquals(ErrorEval.NUM_ERROR.getErrorCode(), formulaCell.getErrorCellValue()); | |||
} | |||
@@ -505,9 +505,9 @@ public final class TestCountFuncs extends TestCase { | |||
for (int rowIx=7; rowIx<=12; rowIx++) { | |||
HSSFRow row = sheet1.getRow(rowIx-1); | |||
HSSFCell cellA = row.getCell(0); // cell containing a formula with COUNTIF | |||
assertEquals(CellType.FORMULA, cellA.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, cellA.getCellType()); | |||
HSSFCell cellC = row.getCell(2); // cell with a reference value | |||
assertEquals(CellType.NUMERIC, cellC.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cellC.getCellType()); | |||
CellValue cv = fe.evaluate(cellA); | |||
double actualValue = cv.getNumberValue(); | |||
@@ -523,9 +523,9 @@ public final class TestCountFuncs extends TestCase { | |||
for (int rowIx=9; rowIx<=14; rowIx++) { | |||
HSSFRow row = sheet2.getRow(rowIx-1); | |||
HSSFCell cellA = row.getCell(0); // cell containing a formula with COUNTIF | |||
assertEquals(CellType.FORMULA, cellA.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, cellA.getCellType()); | |||
HSSFCell cellC = row.getCell(2); // cell with a reference value | |||
assertEquals(CellType.NUMERIC, cellC.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cellC.getCellType()); | |||
CellValue cv = fe.evaluate(cellA); | |||
double actualValue = cv.getNumberValue(); |
@@ -47,13 +47,13 @@ public final class TestIsBlank extends TestCase { | |||
HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb); | |||
CellValue result = fe.evaluate(cell); | |||
assertEquals(CellType.BOOLEAN, result.getCellTypeEnum()); | |||
assertEquals(CellType.BOOLEAN, result.getCellType()); | |||
assertEquals(true, result.getBooleanValue()); | |||
cell.setCellFormula("isblank(D7:D7)"); | |||
result = fe.evaluate(cell); | |||
assertEquals(CellType.BOOLEAN, result.getCellTypeEnum()); | |||
assertEquals(CellType.BOOLEAN, result.getCellType()); | |||
assertEquals(true, result.getBooleanValue()); | |||
} | |||
} |
@@ -58,12 +58,12 @@ public final class TestNper { | |||
cell.setCellFormula("NPER(12,4500,100000,100000)"); | |||
cell.setCellValue(15.0); | |||
assertEquals("NPER(12,4500,100000,100000)", cell.getCellFormula()); | |||
assertEquals(CellType.NUMERIC, cell.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cell.getCachedFormulaResultType()); | |||
assertEquals(15.0, cell.getNumericCellValue(), 0.0); | |||
HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb); | |||
fe.evaluateFormulaCellEnum(cell); | |||
assertEquals(CellType.ERROR, cell.getCachedFormulaResultTypeEnum()); | |||
fe.evaluateFormulaCell(cell); | |||
assertEquals(CellType.ERROR, cell.getCachedFormulaResultType()); | |||
assertEquals(FormulaError.NUM.getCode(), cell.getErrorCellValue()); | |||
wb.close(); | |||
} |
@@ -973,7 +973,7 @@ public abstract class BaseTestBugzillaIssues { | |||
assertEquals(1, cArray.length);*/ | |||
Cell cell = row.getCell(0); | |||
assertEquals(CellType.FORMULA, cell.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, cell.getCellType()); | |||
} | |||
{ // overwrite the row | |||
@@ -1151,18 +1151,18 @@ public abstract class BaseTestBugzillaIssues { | |||
cfs.setCellFormula("B1"); | |||
FormulaEvaluator fe = wb.getCreationHelper().createFormulaEvaluator(); | |||
assertEquals(CellType.NUMERIC, fe.evaluate(cfn).getCellTypeEnum()); | |||
assertEquals(CellType.STRING, fe.evaluate(cfs).getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, fe.evaluate(cfn).getCellType()); | |||
assertEquals(CellType.STRING, fe.evaluate(cfs).getCellType()); | |||
fe.evaluateFormulaCellEnum(cfn); | |||
fe.evaluateFormulaCellEnum(cfs); | |||
// Now test | |||
assertEquals(CellType.NUMERIC, cn.getCellTypeEnum()); | |||
assertEquals(CellType.STRING, cs.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, cfn.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cfn.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.FORMULA, cfs.getCellTypeEnum()); | |||
assertEquals(CellType.STRING, cfs.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cn.getCellType()); | |||
assertEquals(CellType.STRING, cs.getCellType()); | |||
assertEquals(CellType.FORMULA, cfn.getCellType()); | |||
assertEquals(CellType.NUMERIC, cfn.getCachedFormulaResultType()); | |||
assertEquals(CellType.FORMULA, cfs.getCellType()); | |||
assertEquals(CellType.STRING, cfs.getCachedFormulaResultType()); | |||
// Different ways of retrieving | |||
assertEquals(1.2, cn.getNumericCellValue(), 0); | |||
@@ -1406,7 +1406,7 @@ public abstract class BaseTestBugzillaIssues { | |||
Sheet s = wb.createSheet(); | |||
Cell cell = s.createRow(0).createCell(0); | |||
cell.setCellValue((String)null); | |||
assertEquals(CellType.BLANK, cell.getCellTypeEnum()); | |||
assertEquals(CellType.BLANK, cell.getCellType()); | |||
_testDataProvider.trackAllColumnsForAutosizing(s); | |||
@@ -1577,8 +1577,8 @@ public abstract class BaseTestBugzillaIssues { | |||
Cell cell = row.getCell(cellId); | |||
System.out.println("Formula:" + cell.getCellFormula()); | |||
if (CellType.FORMULA == cell.getCellTypeEnum()) { | |||
CellType formulaResultType = cell.getCachedFormulaResultTypeEnum(); | |||
if (CellType.FORMULA == cell.getCellType()) { | |||
CellType formulaResultType = cell.getCachedFormulaResultType(); | |||
System.out.println("Formula Result Type:" + formulaResultType); | |||
} | |||
@@ -1592,8 +1592,8 @@ public abstract class BaseTestBugzillaIssues { | |||
cell = row.getCell(cellId); | |||
System.out.println("Formula:" + cell.getCellFormula()); | |||
if (CellType.FORMULA == cell.getCellTypeEnum()) { | |||
CellType formulaResultType = cell.getCachedFormulaResultTypeEnum(); | |||
if (CellType.FORMULA == cell.getCellType()) { | |||
CellType formulaResultType = cell.getCachedFormulaResultType(); | |||
System.out.println("Formula Result Type:" + formulaResultType); | |||
} | |||
@@ -1658,9 +1658,9 @@ public abstract class BaseTestBugzillaIssues { | |||
cell3.setCellFormula("SUM(C1:C10)"); | |||
cell3.setCellValue(65); | |||
assertEquals(CellType.FORMULA, cell1.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, cell2.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, cell3.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, cell1.getCellType()); | |||
assertEquals(CellType.FORMULA, cell2.getCellType()); | |||
assertEquals(CellType.FORMULA, cell3.getCellType()); | |||
assertEquals("SUM(A1:A10)", cell1.getCellFormula()); | |||
assertEquals("SUM(B1:B10)", cell2.getCellFormula()); | |||
@@ -1690,7 +1690,7 @@ public abstract class BaseTestBugzillaIssues { | |||
for (Cell cell : row) { | |||
String cellValue; | |||
switch (cell.getCellTypeEnum()) { | |||
switch (cell.getCellType()) { | |||
case STRING: | |||
cellValue = cell.getRichStringCellValue().getString(); | |||
break; |
@@ -61,13 +61,13 @@ public abstract class BaseTestCell { | |||
cell.setCellValue(1.2); | |||
assertEquals(1.2, cell.getNumericCellValue(), 0.0001); | |||
assertEquals(CellType.NUMERIC, cell.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cell.getCellType()); | |||
assertProhibitedValueAccess(cell, CellType.BOOLEAN, CellType.STRING, | |||
CellType.FORMULA, CellType.ERROR); | |||
cell.setCellValue(false); | |||
assertEquals(false, cell.getBooleanCellValue()); | |||
assertEquals(CellType.BOOLEAN, cell.getCellTypeEnum()); | |||
assertEquals(CellType.BOOLEAN, cell.getCellType()); | |||
cell.setCellValue(true); | |||
assertEquals(true, cell.getBooleanCellValue()); | |||
assertProhibitedValueAccess(cell, CellType.NUMERIC, CellType.STRING, | |||
@@ -76,14 +76,14 @@ public abstract class BaseTestCell { | |||
cell.setCellValue(factory.createRichTextString("Foo")); | |||
assertEquals("Foo", cell.getRichStringCellValue().getString()); | |||
assertEquals("Foo", cell.getStringCellValue()); | |||
assertEquals(CellType.STRING, cell.getCellTypeEnum()); | |||
assertEquals(CellType.STRING, cell.getCellType()); | |||
assertProhibitedValueAccess(cell, CellType.NUMERIC, CellType.BOOLEAN, | |||
CellType.FORMULA, CellType.ERROR); | |||
cell.setCellValue("345"); | |||
assertEquals("345", cell.getRichStringCellValue().getString()); | |||
assertEquals("345", cell.getStringCellValue()); | |||
assertEquals(CellType.STRING, cell.getCellTypeEnum()); | |||
assertEquals(CellType.STRING, cell.getCellType()); | |||
assertProhibitedValueAccess(cell, CellType.NUMERIC, CellType.BOOLEAN, | |||
CellType.FORMULA, CellType.ERROR); | |||
@@ -91,19 +91,19 @@ public abstract class BaseTestCell { | |||
c.setTimeInMillis(123456789); | |||
cell.setCellValue(c.getTime()); | |||
assertEquals(c.getTime().getTime(), cell.getDateCellValue().getTime()); | |||
assertEquals(CellType.NUMERIC, cell.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cell.getCellType()); | |||
assertProhibitedValueAccess(cell, CellType.BOOLEAN, CellType.STRING, | |||
CellType.FORMULA, CellType.ERROR); | |||
cell.setCellValue(c); | |||
assertEquals(c.getTime().getTime(), cell.getDateCellValue().getTime()); | |||
assertEquals(CellType.NUMERIC, cell.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cell.getCellType()); | |||
assertProhibitedValueAccess(cell, CellType.BOOLEAN, CellType.STRING, | |||
CellType.FORMULA, CellType.ERROR); | |||
cell.setCellErrorValue(FormulaError.NA.getCode()); | |||
assertEquals(FormulaError.NA.getCode(), cell.getErrorCellValue()); | |||
assertEquals(CellType.ERROR, cell.getCellTypeEnum()); | |||
assertEquals(CellType.ERROR, cell.getCellType()); | |||
assertProhibitedValueAccess(cell, CellType.NUMERIC, CellType.BOOLEAN, | |||
CellType.FORMULA, CellType.STRING); | |||
@@ -142,7 +142,6 @@ public abstract class BaseTestCell { | |||
/** | |||
* test that Boolean (BoolErrRecord) are supported properly. | |||
* @see testErr | |||
*/ | |||
@Test | |||
public void testBool() throws IOException { | |||
@@ -177,13 +176,13 @@ public abstract class BaseTestCell { | |||
c = r.getCell(1); | |||
assertEquals(0, c.getRowIndex()); | |||
assertEquals(1, c.getColumnIndex()); | |||
assertEquals(CellType.BOOLEAN, c.getCellTypeEnum()); | |||
assertEquals(CellType.BOOLEAN, c.getCellType()); | |||
assertEquals("B1 value", true, c.getBooleanCellValue()); | |||
c = r.getCell(2); | |||
assertEquals(0, c.getRowIndex()); | |||
assertEquals(2, c.getColumnIndex()); | |||
assertEquals(CellType.BOOLEAN, c.getCellTypeEnum()); | |||
assertEquals(CellType.BOOLEAN, c.getCellType()); | |||
assertEquals("C1 value", false, c.getBooleanCellValue()); | |||
wb2.close(); | |||
@@ -191,7 +190,7 @@ public abstract class BaseTestCell { | |||
/** | |||
* test that Error types (BoolErrRecord) are supported properly. | |||
* @see testBool | |||
* @see #testBool | |||
*/ | |||
@Test | |||
public void testErr() throws IOException { | |||
@@ -227,13 +226,13 @@ public abstract class BaseTestCell { | |||
c = r.getCell(1); | |||
assertEquals(0, c.getRowIndex()); | |||
assertEquals(1, c.getColumnIndex()); | |||
assertEquals(CellType.ERROR, c.getCellTypeEnum()); | |||
assertEquals(CellType.ERROR, c.getCellType()); | |||
assertEquals("B1 value == #NULL!", FormulaError.NULL.getCode(), c.getErrorCellValue()); | |||
c = r.getCell(2); | |||
assertEquals(0, c.getRowIndex()); | |||
assertEquals(2, c.getColumnIndex()); | |||
assertEquals(CellType.ERROR, c.getCellTypeEnum()); | |||
assertEquals(CellType.ERROR, c.getCellType()); | |||
assertEquals("C1 value == #DIV/0!", FormulaError.DIV0.getCode(), c.getErrorCellValue()); | |||
wb2.close(); | |||
@@ -273,7 +272,7 @@ public abstract class BaseTestCell { | |||
r = s.getRow(0); | |||
c = r.getCell(0); | |||
assertEquals("Formula Cell at 0,0", CellType.FORMULA, c.getCellTypeEnum()); | |||
assertEquals("Formula Cell at 0,0", CellType.FORMULA, c.getCellType()); | |||
cs = c.getCellStyle(); | |||
assertNotNull("Formula Cell Style", cs); | |||
@@ -351,25 +350,25 @@ public abstract class BaseTestCell { | |||
Cell c1 = r.createCell(0); | |||
c1.setCellFormula("NA()"); | |||
assertEquals(0.0, c1.getNumericCellValue(), 0.0); | |||
assertEquals(CellType.NUMERIC, c1.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.NUMERIC, c1.getCachedFormulaResultType()); | |||
c1.setCellValue(10); | |||
assertEquals(10.0, c1.getNumericCellValue(), 0.0); | |||
assertEquals(CellType.FORMULA, c1.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, c1.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.FORMULA, c1.getCellType()); | |||
assertEquals(CellType.NUMERIC, c1.getCachedFormulaResultType()); | |||
Cell c2 = r.createCell(1); | |||
c2.setCellFormula("NA()"); | |||
assertEquals(0.0, c2.getNumericCellValue(), 0.0); | |||
assertEquals(CellType.NUMERIC, c2.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.NUMERIC, c2.getCachedFormulaResultType()); | |||
c2.setCellValue("I changed!"); | |||
assertEquals("I changed!", c2.getStringCellValue()); | |||
assertEquals(CellType.FORMULA, c2.getCellTypeEnum()); | |||
assertEquals(CellType.STRING, c2.getCachedFormulaResultTypeEnum()); | |||
assertEquals(CellType.FORMULA, c2.getCellType()); | |||
assertEquals(CellType.STRING, c2.getCachedFormulaResultType()); | |||
//calglin Cell.setCellFormula(null) for a non-formula cell | |||
Cell c3 = r.createCell(2); | |||
c3.setCellFormula(null); | |||
assertEquals(CellType.BLANK, c3.getCellTypeEnum()); | |||
assertEquals(CellType.BLANK, c3.getCellType()); | |||
wb.close(); | |||
} | |||
@@ -424,11 +423,11 @@ public abstract class BaseTestCell { | |||
Cell cell = createACell(wb); | |||
cell.setCellValue("TRUE"); | |||
assertEquals(CellType.STRING, cell.getCellTypeEnum()); | |||
assertEquals(CellType.STRING, cell.getCellType()); | |||
// test conversion of cell from text to boolean | |||
cell.setCellType(CellType.BOOLEAN); | |||
assertEquals(CellType.BOOLEAN, cell.getCellTypeEnum()); | |||
assertEquals(CellType.BOOLEAN, cell.getCellType()); | |||
assertEquals(true, cell.getBooleanCellValue()); | |||
cell.setCellType(CellType.STRING); | |||
assertEquals("TRUE", cell.getRichStringCellValue().getString()); | |||
@@ -436,7 +435,7 @@ public abstract class BaseTestCell { | |||
// 'false' text to bool and back | |||
cell.setCellValue("FALSE"); | |||
cell.setCellType(CellType.BOOLEAN); | |||
assertEquals(CellType.BOOLEAN, cell.getCellTypeEnum()); | |||
assertEquals(CellType.BOOLEAN, cell.getCellType()); | |||
assertEquals(false, cell.getBooleanCellValue()); | |||
cell.setCellType(CellType.STRING); | |||
assertEquals("FALSE", cell.getRichStringCellValue().getString()); | |||
@@ -593,17 +592,17 @@ public abstract class BaseTestCell { | |||
cell = row.createCell(0, CellType.NUMERIC); | |||
cell.setCellValue(1.0); | |||
assertEquals(CellType.NUMERIC, cell.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cell.getCellType()); | |||
assertEquals(1.0, cell.getNumericCellValue(), 0.0); | |||
cell = row.createCell(1, CellType.NUMERIC); | |||
cell.setCellValue(2.0); | |||
assertEquals(CellType.NUMERIC, cell.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cell.getCellType()); | |||
assertEquals(2.0, cell.getNumericCellValue(), 0.0); | |||
cell = row.createCell(2, CellType.FORMULA); | |||
cell.setCellFormula("SUM(A1:B1)"); | |||
assertEquals(CellType.FORMULA, cell.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, cell.getCellType()); | |||
assertEquals("SUM(A1:B1)", cell.getCellFormula()); | |||
//serialize and check again | |||
@@ -611,15 +610,15 @@ public abstract class BaseTestCell { | |||
wb1.close(); | |||
row = wb2.getSheetAt(0).getRow(0); | |||
cell = row.getCell(0); | |||
assertEquals(CellType.NUMERIC, cell.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cell.getCellType()); | |||
assertEquals(1.0, cell.getNumericCellValue(), 0.0); | |||
cell = row.getCell(1); | |||
assertEquals(CellType.NUMERIC, cell.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cell.getCellType()); | |||
assertEquals(2.0, cell.getNumericCellValue(), 0.0); | |||
cell = row.getCell(2); | |||
assertEquals(CellType.FORMULA, cell.getCellTypeEnum()); | |||
assertEquals(CellType.FORMULA, cell.getCellType()); | |||
assertEquals("SUM(A1:B1)", cell.getCellFormula()); | |||
wb2.close(); | |||
} | |||
@@ -676,17 +675,17 @@ public abstract class BaseTestCell { | |||
Cell cell0 = row.createCell(0); | |||
cell0.setCellValue(Double.NaN); | |||
assertEquals("Double.NaN should change cell type to CellType#ERROR", CellType.ERROR, cell0.getCellTypeEnum()); | |||
assertEquals("Double.NaN should change cell type to CellType#ERROR", CellType.ERROR, cell0.getCellType()); | |||
assertEquals("Double.NaN should change cell value to #NUM!", FormulaError.NUM, forInt(cell0.getErrorCellValue())); | |||
Cell cell1 = row.createCell(1); | |||
cell1.setCellValue(Double.POSITIVE_INFINITY); | |||
assertEquals("Double.POSITIVE_INFINITY should change cell type to CellType#ERROR", CellType.ERROR, cell1.getCellTypeEnum()); | |||
assertEquals("Double.POSITIVE_INFINITY should change cell type to CellType#ERROR", CellType.ERROR, cell1.getCellType()); | |||
assertEquals("Double.POSITIVE_INFINITY should change cell value to #DIV/0!", FormulaError.DIV0, forInt(cell1.getErrorCellValue())); | |||
Cell cell2 = row.createCell(2); | |||
cell2.setCellValue(Double.NEGATIVE_INFINITY); | |||
assertEquals("Double.NEGATIVE_INFINITY should change cell type to CellType#ERROR", CellType.ERROR, cell2.getCellTypeEnum()); | |||
assertEquals("Double.NEGATIVE_INFINITY should change cell type to CellType#ERROR", CellType.ERROR, cell2.getCellType()); | |||
assertEquals("Double.NEGATIVE_INFINITY should change cell value to #DIV/0!", FormulaError.DIV0, forInt(cell2.getErrorCellValue())); | |||
Workbook wb2 = _testDataProvider.writeOutAndReadBack(wb1); | |||
@@ -694,15 +693,15 @@ public abstract class BaseTestCell { | |||
row = wb2.getSheetAt(0).getRow(0); | |||
cell0 = row.getCell(0); | |||
assertEquals(CellType.ERROR, cell0.getCellTypeEnum()); | |||
assertEquals(CellType.ERROR, cell0.getCellType()); | |||
assertEquals(FormulaError.NUM, forInt(cell0.getErrorCellValue())); | |||
cell1 = row.getCell(1); | |||
assertEquals(CellType.ERROR, cell1.getCellTypeEnum()); | |||
assertEquals(CellType.ERROR, cell1.getCellType()); | |||
assertEquals(FormulaError.DIV0, forInt(cell1.getErrorCellValue())); | |||
cell2 = row.getCell(2); | |||
assertEquals(CellType.ERROR, cell2.getCellTypeEnum()); | |||
assertEquals(CellType.ERROR, cell2.getCellType()); | |||
assertEquals(FormulaError.DIV0, forInt(cell2.getErrorCellValue())); | |||
wb2.close(); | |||
} | |||
@@ -903,21 +902,21 @@ public abstract class BaseTestCell { | |||
RichTextString nullStr = null; | |||
cell.setCellValue(nullStr); | |||
assertEquals("", cell.getStringCellValue()); | |||
assertEquals(CellType.BLANK, cell.getCellTypeEnum()); | |||
assertEquals(CellType.BLANK, cell.getCellType()); | |||
cell = sheet.createRow(0).createCell(1); | |||
cell.setCellValue(1.2d); | |||
assertEquals(CellType.NUMERIC, cell.getCellTypeEnum()); | |||
assertEquals(CellType.NUMERIC, cell.getCellType()); | |||
cell.setCellValue(nullStr); | |||
assertEquals("", cell.getStringCellValue()); | |||
assertEquals(CellType.BLANK, cell.getCellTypeEnum()); | |||
assertEquals(CellType.BLANK, cell.getCellType()); | |||
cell = sheet.createRow(0).createCell(1); | |||
cell.setCellValue(wb.getCreationHelper().createRichTextString("Test")); | |||
assertEquals(CellType.STRING, cell.getCellTypeEnum()); | |||
assertEquals(CellType.STRING, cell.getCellType()); | |||
cell.setCellValue(nullStr); | |||
assertEquals("", cell.getStringCellValue()); | |||
assertEquals(CellType.BLANK, cell.getCellTypeEnum()); | |||
assertEquals(CellType.BLANK, cell.getCellType()); | |||
wb.close(); | |||
} | |||
@@ -1015,38 +1014,4 @@ public abstract class BaseTestCell { | |||
wb.close(); | |||
} | |||
@Test | |||
public void primitiveToEnumReplacementDoesNotBreakBackwardsCompatibility() throws IOException { | |||
// bug 59836 | |||
// until we have changes POI from working on primitives (int) to enums, | |||
// we should make sure we minimize backwards compatibility breakages. | |||
// This method tests the old way of working with cell types, alignment, etc. | |||
Workbook wb = _testDataProvider.createWorkbook(); | |||
Sheet sheet = wb.createSheet(); | |||
Row row = sheet.createRow(0); | |||
Cell cell = row.createCell(0); | |||
// Cell.CELL_TYPE_* -> CellType.* | |||
cell.setCellValue(5.0); | |||
assertEquals(Cell.CELL_TYPE_NUMERIC, cell.getCellType()); | |||
assertEquals(0, cell.getCellType()); //make sure that hard-coded int literals still work, even though users should be using the named constants | |||
assertEquals(CellType.NUMERIC, cell.getCellTypeEnum()); // make sure old way and new way are compatible | |||
// make sure switch(int|Enum) still works. Cases must be statically resolvable in Java 6 ("constant expression required") | |||
switch(cell.getCellType()) { | |||
case Cell.CELL_TYPE_NUMERIC: | |||
// expected | |||
break; | |||
case Cell.CELL_TYPE_STRING: | |||
case Cell.CELL_TYPE_BOOLEAN: | |||
case Cell.CELL_TYPE_ERROR: | |||
case Cell.CELL_TYPE_FORMULA: | |||
case Cell.CELL_TYPE_BLANK: | |||
default: | |||
fail("unexpected cell type: " + cell.getCellType()); | |||
} | |||
wb.close(); | |||
} | |||
} |