planetz Ответов: 0

Последняя строка excel с использованием C#


Всем Привет,

Я пытаюсь получить последнюю строку в листе excel с помощью C#.

Для этого работает следующий код.
int lastCount= wsht.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing).Row;
Моя проблема заключается в том, что когда я удаляю строки с помощью фильтра, а затем снова использую вышеприведенный оператор, последний счетчик остается прежним.

Что я делаю не так??

Что я уже пробовал:

Вот как я добавляю фильтр и удаляю ячейки:
wsht.Range[wsht.Cells[1, 1], wsht.Cells[lastRow, lastCol]].AutoFilter(12, "=Value to Delete", Excel.XlAutoFilterOperator.xlOr, Type.Missing, true);
            xlapp.DisplayAlerts = false;
            wsht.Range[wsht.Cells[2, 1], wsht.Cells[lastRow, lastCol]].SpecialCells(XlCellType.xlCellTypeVisible).Delete();
            xlapp.DisplayAlerts = true;

CHill60

Вы удалили ячейки, но переместили ли Вы данные вверх или влево? Другими словами, если есть пробелы, то последний счет будет будьте тем же самым - это последняя строка, используемая не фактическим счетом

planetz

Я переместил данные вверх. Но, как вы можете видеть из кода, я удалил только диапазон, а не всю строку. Вы хотите сказать, что именно по этой причине граф не меняется?

0 Ответов