请问 POI 读操作中sheet.getLastRowNum()的值不准如何解决??

我的问题是:当Excel中原有10条,数据,删除5行后,sheet.getLastRowNum()的到值还是10这个bug如何解决??

删除5行是用户在客户端,手动在Excel里操作的,

好心的大哥们,有知道的能不能,告诉下,我在网上还没能找到答案、
[b]问题补充:[/b]
客户端是用的删除,选中行delete的
[b]问题补充:[/b]
读出来的是为空,但是没法与错误区分开,因为用户输入错误也为空!空是要提示用户的,而且得到的行数也不对!
[b]问题补充:[/b]
不不,Excle下载到客户端里面是10条,他删除5行后上传到服务器,我看到文件中确实也是5条,但是用poi读时sheet.getLastRowNum()还是10条
[b]问题补充:[/b]
其实跟上传下载无关,就是excel删除的行,我用sheet.getLastRowNum()还是有那么多行
[b]问题补充:[/b]
有可能是用户删除了数据,并没有清除单元格,我确认服务端的sheet得到的是从用户上传过来的文件!

有可能是用户删除了数据,并没有清除单元格的话,那就是会出现这个问题了

你可以遍历每行去判断,如果为null或是空字符串的话, 就把sheet.getLastRowNum()-1,这样就能得到精确的有效行

我觉得你可能是粘贴不是删除吧。你看看他取的那5行值是不是都是空的。你可以通过这个也过滤下。应该就可以了吧。

同学,你的意思是不是指,
删除5行是用户在客户端,手动在Excel里操作的之后,
你服务端调用sheet.getLastRowNum()的到值还是10?

删除5行是不是用户只是把5行的数据给清空,而没有正确删除单元格,

还是就是,你确认服务端的sheet得到的是从用户上传过来的文件!