diff --git a/odfdom/src/main/java/org/odftoolkit/odfdom/doc/table/OdfTable.java b/odfdom/src/main/java/org/odftoolkit/odfdom/doc/table/OdfTable.java index 5782c9947..0271676c2 100644 --- a/odfdom/src/main/java/org/odftoolkit/odfdom/doc/table/OdfTable.java +++ b/odfdom/src/main/java/org/odftoolkit/odfdom/doc/table/OdfTable.java @@ -1709,8 +1709,8 @@ public OdfTableColumn getColumnByIndex(int index) { return null; } - private OdfTableRow getHeaderRowByIndex(TableTableHeaderRowsElement headers, int nIndex) { - int result = 0; + private OdfTableRow getHeaderRowByIndex(TableTableHeaderRowsElement headers, int nIndex, int beginIndex) { + int result = beginIndex; OdfTableRow row = null; for (Node n : new DomNodeList(headers.getChildNodes())) { if (n instanceof TableTableRowElement) { @@ -1760,7 +1760,7 @@ public OdfTableRow getRowByIndex(int index) { OdfTableRow row = null; for (Node n : new DomNodeList(mTableElement.getChildNodes())) { if (n instanceof TableTableHeaderRowsElement) { - row = getHeaderRowByIndex((TableTableHeaderRowsElement) n, index); + row = getHeaderRowByIndex((TableTableHeaderRowsElement) n, index, result); if (row != null) { return row; } diff --git a/odfdom/src/test/java/org/odftoolkit/odfdom/doc/TableTest.java b/odfdom/src/test/java/org/odftoolkit/odfdom/doc/TableTest.java index b42d595ac..766e03701 100644 --- a/odfdom/src/test/java/org/odftoolkit/odfdom/doc/TableTest.java +++ b/odfdom/src/test/java/org/odftoolkit/odfdom/doc/TableTest.java @@ -149,4 +149,11 @@ public void create2ndTableTab() throws Exception { mysheet.save(ResourceUtilities.getTestOutputFile(TEST_FILE_SAVE_2TABLES_OUT)); } + + @Test + public void testTableWithHeaderRowBetweenTableRows() throws Exception { + OdfDocument odfdoc = OdfDocument.loadDocument(ResourceUtilities.getAbsoluteInputPath("HeaderRowBetweenTableRows.ods")); + OdfTable table = odfdoc.getTableByName("Table1"); + table.getRowByIndex(1); + } } diff --git a/odfdom/src/test/resources/test-input/HeaderRowBetweenTableRows.ods b/odfdom/src/test/resources/test-input/HeaderRowBetweenTableRows.ods new file mode 100644 index 000000000..1a88032f0 Binary files /dev/null and b/odfdom/src/test/resources/test-input/HeaderRowBetweenTableRows.ods differ