Возможный дубликат:
Как получить диапазон занятых ячеек в листе Excel
Я пытаюсь найти последнюю использованную строку на листе Excel. Для этого я использую этот код:
int lastUsedRow = currentWS.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell,Type.Missing).Row;
В большинстве случаев это работает нормально, но иногда Excel думает, что на листе больше строк, чем предполагалось.
Fx: если я копирую данные из листа 1, содержащего 12 строк, на пустой лист 2, затем удаляю все данные из листа 2, щелкнув правой кнопкой мыши и нажав «Удалить ...» и скопировав данные из листа 3, содержащего 5 строк, в лист 2, затем lastUsedRow даст мне значение 12, которое должно было быть 5.
Предполагается, что в приведенном выше примере изображения мне присвоено значение 22 в качестве количества строк, но вместо этого я будет 634. Обратите внимание на полосу прокрутки справа.
Кажется, что Excel считает, что некоторые ячейки заполнены, хотя я просто удалил все ячейки, прежде чем копировать новые данные с меньшим количеством строк в лист.
Есть ли способ «изменить размер» представления данных на листе, чтобы получить нужное количество использованных ячеек или, может быть, другой способ найти номер последней использованной строки?
Спасибо.