getLastRowNum不返回正确的行数

我在使用getLastRowNum()方面有一个小难题。 我试图从Excel工作表中获取数据的行数。 假设我有3行,它应该返回一个打印输出语句,说明3行。 现在我的问题是无论我填充多less行,它都返回给我一个固定的数字。 以下是代码摘录:

FileInputStream fis = new FileInputStream("C:\\Test Data\\Login.xlsx"); XSSFWorkbook wb = new XSSFWorkbook(fis); XSSFSheet sheet = wb.getSheet("Login"); System.out.println("No. of rows : " + sheet.getLastRowNum()); 

我的Excel表格包含以下内容

在这里输入图像说明

从附图中,我应该得到4的行数,但是我得到了6。

任何意见深表赞赏。 先谢谢你。

说到附加文件,由于XSSFSheet.getLastRowNum()是从零开始的,它应该返回行号3。 但是,如果您收到6的数量,您的工作表中似乎有3个额外的空白行。

如果你只是打开现有的文件,它包含空行,这里是如何清理它的例子 。 但是如果你自己填充表格,看起来你需要检查你的代码,找出可以创build空行的地方。