Browse Source

Don't report data table master cells as formula cells, since POI doesn't evaluate data table formulas.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1798289 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_3_17_BETA1
Greg Woolsey 7 years ago
parent
commit
756f8b7373
1 changed files with 17 additions and 2 deletions
  1. 17
    2
      src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java

+ 17
- 2
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCell.java View File

@@ -655,8 +655,18 @@ public final class XSSFCell implements Cell {
}
}
/**
* POI currently supports these formula types:
* <ul>
* <li> {@link STCellFormulaType#NORMAL}
* <li> {@link STCellFormulaType#SHARED}
* <li> {@link STCellFormulaType#ARRAY}
* </ul>
* POI does not support {@link STCellFormulaType#DATA_TABLE} formulas.
* @return true if the cell is of a formula type POI can handle
*/
private boolean isFormulaCell() {
if (_cell.getF() != null || getSheet().isCellInArrayFormulaContext(this)) {
if ( (_cell.isSetF() && _cell.getF().getT() != STCellFormulaType.DATA_TABLE ) || getSheet().isCellInArrayFormulaContext(this)) {
return true;
}
return false;
@@ -679,7 +689,12 @@ public final class XSSFCell implements Cell {
}

/**
* Return the cell type.
* 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
* @since POI 3.15 beta 3

Loading…
Cancel
Save