使用Apache POI的SXSSFSheet从xlsx读取数据

Oza*_*zan 9 java apache xlsx apache-poi

我想使用apachi poi从某个xlsx文件中读取数据(单元格值).下面的代码SXSSFWorkBook成功创建了实例并分配了db.xlsx(我的虚拟xlsx).我尝试更改工作表编号并使用该getSheetNumber方法仔细检查它以确保正确分配工作簿.

接下来我想为实例分配一个特定工作表(0带名称的索引main)SXSSFSheet,但目前它返回null.(我有尝试getSheetAtgetSheet方法).

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();
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

编辑:

我尝试过getSheetName方法并得到了积极的结果.所以问题是在工作表中到达行.所以,最后一行getLastRowNum()不起作用.

Gag*_*arr 17

你不能.SXSSFWorkBook是只写的,它不支持阅读

对于.xlsx文件的低内存读取,您应该查看XSSF和SAX EventModel文档