getLastRowNum没有返回正确的行数

时间:2016-08-24 03:18:35

标签: java excel row

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

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表格包含以下内容

enter image description here

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

非常感谢任何建议。提前谢谢。

3 个答案:

答案 0 :(得分:5)

说到附件,它应该返回行号3,因为XSSFSheet.getLastRowNum()是从零开始的。但是如果您收到的数字是6,那么您的工作表中似乎还有3个空白行。

如果您只是打开现有文件并且它包含空白行,则example如何清除它。但如果你自己填写表格,似乎你需要检查代码中可以创建这条空行的地方。

答案 1 :(得分:0)

我遇到了同样的问题,只需删除工作表最后一行(即4)下方的所有行并保存。这是快速解决方案。

答案 2 :(得分:0)

它应该返回3, 检查 Excel 文件中的空白行并将其删除

  • 点击查找和选择
  • 点击转到特别版
  • 选择空白并点击确定
  • 删除工作表行