Znajdź ostatnio używany wiersz w programie Excel z C # [duplikat]

Możliwy duplikat:
Jak uzyskać zasięg zajętych komórek w arkuszu Excela

Próbuję znaleźć ostatnio używany wiersz w arkuszu programu Excel. Aby to zrobić, używam tego kodu:

int lastUsedRow = currentWS.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell,Type.Missing).Row;

W większości przypadków działa dobrze, ale czasami program Excel myśli, że w arkuszu jest więcej wierszy, niż się wydaje.

Fx: Jeśli kopiuję dane z arkusza1, zawierające 12 wierszy, do pustego arkusza2, a następnie usuwam wszystkie dane w arkuszu2, klikając prawym przyciskiem myszy i naciskając „Usuń ...” i kopiując dane z arkusza3, zawierającego 5 wierszy, do arkusza2, a następnie lastUsedRow da mi wartość 12, która powinna być 5.

 Powyższy przykład obrazka ma dać mojej wartości 22 jako liczbę wierszy, ale zamiast tego dostanę 634. Zwróć uwagę na pasek przewijania w prawo.

Wygląda na to, że Excel uważa, że ​​niektóre komórki są wypełnione, mimo że właśnie usunąłem wszystkie komórki, przed skopiowaniem nowych danych z mniejszą liczbą wierszy do arkusza.

Czy jest jakiś sposób na „zmianę rozmiaru” widoku danych w arkuszu, aby uzyskać odpowiednią liczbę użytych komórek, a może inny sposób znalezienia liczby ostatnio używanego wiersza?

Dzięki.

questionAnswers(3)

yourAnswerToTheQuestion