Reading data from xlsx with Apache POI's SXSSFSheet
You can't. SXSSFWorkBook is write only, it doesn't support reading
For low memory reading of .xlsx files, you should look at the XSSF and SAX EventModel documentation
Ozan
Updated on July 17, 2022Comments
-
Ozan almost 2 years
I want to read data ( cell values ) from a certain xlsx file using apachi poi. The code below creates the
SXSSFWorkBook
instance successfully and assigns db.xlsx ( my dummy xlsx). I have tried changing sheet numbers and double checking it with thegetSheetNumber
method to make sure the workbook is correctly assigned.Next I want to assign a specific sheet (index
0
with namemain
) toSXSSFSheet
instance, but currently it returnsnull
. (I have both triedgetSheetAt
andgetSheet
methods).SXSSFRow DummyRow; SXSSFCell DummyCell; int RowCount; OPCPackage pkg = OPCPackage.open(blabla string adress); XSSFWorkbook wb = new XSSFWorkbook(pkg); Workbook MainBook = new SXSSFWorkbook(wb,100); int a = MainBook.getNumberOfSheets(); SXSSFSheet MainSheet = (SXSSFSheet) MainBook.getSheetAt(0); RowCount = MainSheet.getLastRowNum();
What am I doing wrong?
Edit:
I have tried
getSheetName
method and had a positive result. So the problem is with reaching rows in Worksheet. so, the last linegetLastRowNum()
is not working.