Author: fanningpj
Date: Sun Mar 20 21:41:31 2022
New Revision: 1899091
URL: http://svn.apache.org/viewvc?rev=1899091&view=rev
Log:
[bug-64536] add getDimension on XSSFSheet
Added:
poi/trunk/test-data/spreadsheet/1_NoIden.xlsx (with props)
Modified:
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
Modified:
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java?rev=1899091&r1=1899090&r2=1899091&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
(original)
+++
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
Sun Mar 20 21:41:31 2022
@@ -3962,6 +3962,20 @@ public class XSSFSheet extends POIXMLDoc
safeGetProtectionField().setSelectUnlockedCells(enabled);
}
+ /**
+ * Reads the dimensions of the sheet data
+ * @return dimensions of the sheet data as a Cell Range (can be null)
+ * @since POI 5.2.3
+ */
+ public CellRangeAddress getDimension() {
+ CTSheetDimension ctSheetDimension = worksheet.getDimension();
+ String ref = ctSheetDimension == null ? null :
ctSheetDimension.getRef();
+ if (ref != null) {
+ return CellRangeAddress.valueOf(ref);
+ }
+ return null;
+ }
+
private CTSheetProtection safeGetProtectionField() {
if (!isSheetProtectionEnabled()) {
return worksheet.addNewSheetProtection();
Modified:
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
URL:
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFSheet.java?rev=1899091&r1=1899090&r2=1899091&view=diff
==============================================================================
---
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
(original)
+++
poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
Sun Mar 20 21:41:31 2022
@@ -2253,4 +2253,28 @@ public final class TestXSSFSheet extends
assertTrue(row2.getZeroHeight());
}
}
+
+ @Test
+ void testBug64536() throws IOException {
+ try (
+ XSSFWorkbook xssfWorkbook = (XSSFWorkbook)
_testDataProvider.openSampleWorkbook("1_NoIden.xlsx");
+ UnsynchronizedByteArrayOutputStream bos = new
UnsynchronizedByteArrayOutputStream()
+ ) {
+ XSSFSheet fileSheet = xssfWorkbook.getSheetAt(0);
+ assertEquals(CellRangeAddress.valueOf("B1:D9"),
fileSheet.getDimension());
+
+ // Create Row and Cell, Then Set a Value
+ // 5, 2, 4 is just random number for test
+ Row fileRow = fileSheet.createRow(5);
+ Cell fileCell = fileRow.createCell(2, CellType.STRING);
+ fileCell.setCellValue("TEST VALUE");
+
+ xssfWorkbook.write(bos);
+
+ try (XSSFWorkbook xssfWorkbook2 = new
XSSFWorkbook(bos.toInputStream())) {
+ XSSFSheet xssfSheet = xssfWorkbook2.getSheetAt(0);
+ assertEquals(CellRangeAddress.valueOf("B1:F9"),
xssfSheet.getDimension());
+ }
+ }
+ }
}
Added: poi/trunk/test-data/spreadsheet/1_NoIden.xlsx
URL:
http://svn.apache.org/viewvc/poi/trunk/test-data/spreadsheet/1_NoIden.xlsx?rev=1899091&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/test-data/spreadsheet/1_NoIden.xlsx
------------------------------------------------------------------------------
--- svn:mime-type (added)
+++ svn:mime-type Sun Mar 20 21:41:31 2022
@@ -0,0 +1 @@
+application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]