0
我在使用getLastRowNum()方面有一個小難題。我試圖從Excel工作表中獲取數據的行數。假設我有3行,它應該在打印輸出語句中返回3行。現在我的問題是無論我填充多少行,它都會返回一個固定的數字。代碼的下面是摘錄:getLastRowNum沒有返回正確的行數
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代替。
任何意見深表讚賞。先謝謝你。
嗨@Konstantin,非常感謝您的反饋。我的錯誤,它應該返回3.關於額外的空白行,我可以告訴你如何消除空行,並確保將來無論我添加多少行,它都會給我正確的行數?再次感謝 – lamCM
@lamCM在Excel中選擇第5-7行,刪除它們並再次保存工作簿。但是,你的代碼仍然會受到這些問題的影響,所以最好不要依賴'getLastRowNum()'。迭代行並檢查它們是否有非空白數據。你可以從'getLastRowNum()'向後迭代,直到你找到一個非空行,如果你只是想找到最後一個值行,但是在其他行之間仍然有空白/缺失的行,所有這些都取決於你需要什麼。 – Andreas
獲得行數的另一種方法是從結尾迭代,直到獲得第一個非空行。如果該行的索引爲X,則返回X + 1(不要忘記,X基於零) –