0
私はgetLastRowNum()を使用する際に小さな問題を抱えています。 Excelシートからデータを含む行数を取得しようとしています。私は3行を持っていると仮定すると、それは3行を記載しているprint out文で返されます。今の私の問題は、私が人口が何列にもかかわらず、それは私に特定の固定数を返しています。次のコードの抜粋です。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を取得しています代わりに。
アドバイスをいただければ幸いです。前もって感謝します。
こんにちは@コンスタンチン、ご意見ありがとうございます。私の間違いは、3を返す必要があります。空白の行を追加する方法については、空白の行を削除する方法についてのアドバイスがあります。将来、追加する行の数に関係なく、正しい行数?もう一度ありがとうございます – lamCM
@lamCM Excelで5-7行を選択し、それらを削除して、再度ブックを保存してください。しかし、あなたのコードはまだそのような問題の影響を受けやすいので、 'getLastRowNum()'に依存しないほうが良いでしょう。行を繰り返し、空でないデータがあるかどうかを確認します。最後のvalue-rowを探したいだけならば、空白でない行を見つけるまでgetLastRowNum()から逆に反復することができますが、他の行の間に空白/行が残っている可能性がありますあなたが必要とするものについて – Andreas
行数を取得する別の方法は、最初から非空白の行が得られるまで、最後から反復することです。そして、この行のインデックスがXの場合、X + 1を返します(Xはゼロに基づいています)。 –