Java 使用ApachePOI从xlsx读取数据';s SXSSF表

Java 使用ApachePOI从xlsx读取数据';s SXSSF表,java,apache,apache-poi,xlsx,Java,Apache,Apache Poi,Xlsx,我想使用apachi poi从某个xlsx文件读取数据(单元格值)。 下面的代码成功创建了SXSSFWorkBook实例,并分配了db.xlsx(我的虚拟xlsx)。我尝试过更改工作表编号,并使用getSheetNumber方法对其进行双重检查,以确保工作簿分配正确 接下来,我想将一个特定的工作表(索引0和名称main)分配给sxsfsheet实例,但当前它返回null。(我已经尝试了getSheetAt和getSheet方法) 我做错了什么 编辑: 我尝试了getSheetName方法,并获得

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

接下来,我想将一个特定的工作表(索引
0
和名称
main
)分配给
sxsfsheet
实例,但当前它返回
null
。(我已经尝试了
getSheetAt
getSheet
方法)

我做错了什么

编辑:


我尝试了
getSheetName
方法,并获得了积极的结果。因此,问题在于如何到达工作表中的行。因此,最后一行
getLastRowNum()
不起作用。

您不能。SXSSFWorkBook是只写的,不支持阅读

对于.xlsx文件的低内存读取,您应该查看

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();