У меня была такая же проблема. Если я удаляю строки вручную, количество строк не уменьшалось, когда я проверял это с помощью sheet.getPhysicalNumberOfRows ().
Когда я углубился в эту проблему, я нашел точную проблему. В моей строке был столбец электронной почты, и при вводе адреса электронной почты MS Office автоматически определяет его как адрес электронной почты. И когда я удалял всю эту строку вручную, ячейка, в которой находился адрес электронной почты, все еще имела «» в качестве значения (оно не будет видно, но я обнаружил, что это значение инициализируется, когда я читаю его через Java). Таким образом, поскольку эта ячейка имеет ненулевое значение (""), вся эта строка становится объявленной (вроде) и количество строк увеличивается.
Самое смешное, что когда я не вводил адрес электронной почты, просто вводил какую-то строку, а затем удалял строку, ячейка не инициализировалась и ROWCOUNT GOT DECREASED фактически. Это то, что я нашел в результате моей проблемы.
Наконец-то я решил это, не только добавив нулевую проверку для ячеек, но и
if(cell != "")
Надеюсь, это может быть полезно для вас