我在使用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表格包含以下内容
从附图中我得到的行数为4,但我得到的是6。
非常感谢任何建议。提前谢谢。
答案 0 :(得分:5)
说到附件,它应该返回行号3,因为XSSFSheet.getLastRowNum()是从零开始的。但是如果您收到的数字是6,那么您的工作表中似乎还有3个空白行。
如果您只是打开现有文件并且它包含空白行,则example如何清除它。但如果你自己填写表格,似乎你需要检查代码中可以创建这条空行的地方。
答案 1 :(得分:0)
我遇到了同样的问题,只需删除工作表最后一行(即4)下方的所有行并保存。这是快速解决方案。
答案 2 :(得分:0)
它应该返回3, 检查 Excel 文件中的空白行并将其删除