SXSSFSheet对象调用getLastRowNum的问题

Apache POI 的 SXSSFSheet 在调用 getLastRowNum 方法时,始终返回 0,即使表格非空。问题源于SXSSFSheet 的 _rows 数据结构未被填充。此问题与 sheet 中的 actualRows 属性有关,actualRows 包含了正确的行数,但源代码并未使用。解决方案可能是理解其设计原因或尝试自定义实现。
摘要由CSDN通过智能技术生成

首先SXSSFSheet来自于org.apache.poi.xssf.streaming.SXSSFSheet,其官方文档请看:https://poi.apache.org/apidocs/org/apache/poi/xssf/streaming/SXSSFSheet.html
使用时需要导入如下jar包:
这里写图片描述
先看代码片段

SXSSFSheet sheet = (SXSSFSheet) workBook.getSheetAt(sheetIndex);
System.out.println(sheet.getLastRowNum());

输出结果永远是0,虽然表并不为空
例如debug的过程中,当读到如下的sheet时
这里写图片描述
在监视窗口看到
这里写图片描述
其中_rows的size=0
我们再来看getLastRowNum()的源代码

<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值