git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1751373 13f79535-47bb-0310-9956-ffa450edef68tags/REL_3_15_BETA3
@@ -324,8 +324,9 @@ public class XSSFTable extends POIXMLDocumentPart implements Table { | |||
/** | |||
* @return the total number of rows in the selection. (Note: in this version autofiltering is ignored) | |||
* | |||
* @return the total number of rows in the selection. (Note: in this version autofiltering is ignored) | |||
* Returns <code>0</code> if the start or end cell references are not set. | |||
* | |||
* Does not track updates to underlying changes to CTTable | |||
* To synchronize with changes to the underlying CTTable, | |||
* call {@link #updateReferences()}. | |||
@@ -334,10 +335,9 @@ public class XSSFTable extends POIXMLDocumentPart implements Table { | |||
CellReference from = getStartCellReference(); | |||
CellReference to = getEndCellReference(); | |||
int rowCount = -1; | |||
int rowCount = 0; | |||
if (from!=null && to!=null) { | |||
// FIXME: shouldn't this be to-from+1? | |||
rowCount = to.getRow()-from.getRow(); | |||
rowCount = to.getRow() - from.getRow() + 1; | |||
} | |||
return rowCount; | |||
} |
@@ -267,4 +267,24 @@ public final class TestXSSFTable { | |||
assertEquals(new CellReference("M3"), table.getEndCellReference()); | |||
} | |||
@Test | |||
public void getRowCount() { | |||
XSSFWorkbook wb = new XSSFWorkbook(); | |||
XSSFSheet sh = wb.createSheet(); | |||
XSSFTable table = sh.createTable(); | |||
CTTable ctTable = table.getCTTable(); | |||
assertEquals(0, table.getRowCount()); | |||
ctTable.setRef("B2:B2"); | |||
// update cell references to clear the cache | |||
table.updateReferences(); | |||
assertEquals(1, table.getRowCount()); | |||
ctTable.setRef("B2:B12"); | |||
// update cell references to clear the cache | |||
table.updateReferences(); | |||
assertEquals(11, table.getRowCount()); | |||
} | |||
} |