Use the same "is this a formula" logic for both getCellType and getCachedFormulaResultType

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1693767 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2015-08-01 21:34:34 +00:00
parent 98ed7bb5fb
commit 42bf5e5fc6
1 changed files with 9 additions and 5 deletions

View File

@ -536,6 +536,13 @@ public final class XSSFCell implements Cell {
_cell.setS(idx);
}
}
private boolean isFormulaCell() {
if (_cell.getF() != null || getSheet().isCellInArrayFormulaContext(this)) {
return true;
}
return false;
}
/**
* Return the cell type.
@ -550,10 +557,7 @@ public final class XSSFCell implements Cell {
*/
@Override
public int getCellType() {
if (_cell.getF() != null || getSheet().isCellInArrayFormulaContext(this)) {
return CELL_TYPE_FORMULA;
}
if (isFormulaCell()) return CELL_TYPE_FORMULA;
return getBaseCellType(true);
}
@ -566,7 +570,7 @@ public final class XSSFCell implements Cell {
*/
@Override
public int getCachedFormulaResultType() {
if (_cell.getF() == null) {
if (! isFormulaCell()) {
throw new IllegalStateException("Only formula cells have cached results");
}