https://bz.apache.org/bugzilla/show_bug.cgi?id=62673
Bug ID: 62673 Summary: XSSF worksheet has column range in dimension off by one Product: POI Version: 3.17-FINAL Hardware: All OS: All Status: NEW Severity: normal Priority: P2 Component: XSSF Assignee: dev@poi.apache.org Reporter: richard.ev...@blueallegro.net Target Milestone: --- XSSFSheet has this code in the write method: if(row.getLastCellNum() != -1) { maxCell = Math.max(maxCell, row.getLastCellNum()); ... if(minCell != Integer.MAX_VALUE) { String ref = new CellRangeAddress(getFirstRowNum(), getLastRowNum(), minCell, maxCell).formatAsString(); if(worksheet.isSetDimension()) { worksheet.getDimension().setRef(ref); } else { worksheet.addNewDimension().setRef(ref); } } Arguments to the CellRangeAddress are zero-based: /** * Creates new cell range. Indexes are zero-based. However row.getLastCellNum() returns the zero-based last cell number PLUS ONE: * @return short representing the last logical cell in the row <b>PLUS ONE</b>, * or -1 if the row does not contain any cells. */ As a result the dimension in the worksheet has the last column number off by one. A single column sheet with five rows is written with <dimension ref="A1:B5"/> instead of <dimension ref="A1:A5"/> -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org