You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2016/06/23 18:59:49 UTC
svn commit: r1749971 - in /poi/trunk/src/ooxml:
java/org/apache/poi/xssf/usermodel/XSSFRow.java
testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
Author: nick
Date: Thu Jun 23 18:59:48 2016
New Revision: 1749971
URL: http://svn.apache.org/viewvc?rev=1749971&view=rev
Log:
#59746 XSSF support for files from certain alternate tools where the row XML is missing the row number
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java?rev=1749971&r1=1749970&r2=1749971&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java Thu Jun 23 18:59:48 2016
@@ -77,6 +77,16 @@ public class XSSFRow implements Row, Com
_cells.put(colI, cell);
sheet.onReadCell(cell);
}
+
+ if (! row.isSetR()) {
+ // Certain file format writers skip the row number
+ // Assume no gaps, and give this the next row number
+ int nextRowNum = sheet.getLastRowNum()+2;
+ if (nextRowNum == 2 && sheet.getPhysicalNumberOfRows() == 0) {
+ nextRowNum = 1;
+ }
+ row.setR(nextRowNum);
+ }
}
/**
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java?rev=1749971&r1=1749970&r2=1749971&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java Thu Jun 23 18:59:48 2016
@@ -3088,7 +3088,6 @@ public final class TestXSSFBugs extends
* to include the row number on the row tags
*/
@Test
- @Ignore("Not yet supported")
public void noRowNumbers59746() {
Workbook wb = XSSFTestDataSamples.openSampleWorkbook("59746_NoRowNums.xlsx");
Sheet sheet = wb.getSheetAt(0);
@@ -3096,5 +3095,8 @@ public final class TestXSSFBugs extends
assertEquals("Checked", sheet.getRow(0).getCell(0).getStringCellValue());
assertEquals("Checked", sheet.getRow(9).getCell(2).getStringCellValue());
assertEquals(false, sheet.getRow(70).getCell(8).getBooleanCellValue());
+ assertEquals(71, sheet.getPhysicalNumberOfRows());
+ assertEquals(70, sheet.getLastRowNum());
+ assertEquals(70, sheet.getRow(sheet.getLastRowNum()).getRowNum());
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org