Повышение комментария к ответу ...
Файлы Excel, как правило, хранятся "разреженно", поэтому с пробелами для строк без данных. Таким образом, любая строка в файле Excel, которую вы читаете обратно с Apache POI может быть нулевым. Точно так же строка может быть стилизована, но в ней нет данных, что означает, что вы получите ее обратно, если попросите ее, но без значений, как вы ожидаете.
Итак, для вашего случая вы, вероятно, захотите чтобы начать в последнем ряду, и работать в обратном направлении. Для каждой строки проверьте, является ли она нулевой. Если это не ноль, возьмите несколько ячеек, зная, что они тоже могут быть нулевыми! Проверьте их и, если достаточно, присутствует / действителен, считайте, что «последняя действительная строка». Если нет, то go на один ряд выше. Повторяйте, пока не найдете то, что считаете правильным!