bug 59796: XSSFTable#getRowCount off-by-one error
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1751373 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
18f2e5e405
commit
24faa602e0
@ -324,7 +324,8 @@ 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,
|
||||
@ -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());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user