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 the getSheetNumber
method to make sure the workbook is correctly assigned.
Next I want to assign a specific sheet (index 0
with name main
) to SXSSFSheet
instance, but currently it returns null
. (I have both tried getSheetAt
and getSheet
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 line getLastRowNum()
is not working.
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