.NET 3.x Неправильно определяется последняя заполненная строка Excel - C#

Узнай цену своей работы

Формулировка задачи:

День добрый! Октрываю книгу Excel, на первом листе скажем 100 строк, копирую эти строки на новый лист и запускаю функцию Удалить Дубликаты, при этом скажем у меня на втором листе остается 50 строк. Но все еще при попытке определения последней заполненной строки пишет 100ю Почему?(
Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
            Excel.Workbook xlWb = xlApp.Workbooks.Open(openFileDialog1.FileName,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                Type.Missing, Type.Missing);
 
            xlWb.Worksheets.Copy(After: xlWb.Sheets[xlWb.Sheets.Count]);
 
            Excel.Worksheet xlWs = (Microsoft.Office.Interop.Excel.Worksheet)xlWb.Sheets[2];
 
            // UsedRange - использованный диапазон. Находим последнюю заполненную строку и столбец.
            int fullRow = xlWs.UsedRange.Rows.Count;
            int fullCol = xlWs.UsedRange.Columns.Count;
            Range rng = xlWs.Range[xlWs.Cells[1,1], xlWs.Cells[fullRow, fullCol]];
 
            object cols = new object[] { 7, 9 };
            rng.RemoveDuplicates(cols, XlYesNoGuess.xlNo);
 
            int lastRow = xlWs.Cells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing).Row;

            double smm = xlApp.WorksheetFunction.Sum(xlWs.Range["H:H"]);
 
            xlWs.Cells[lastRow, 8] = smm;

            xlApp.Visible = true;

Решение задачи: «.NET 3.x Неправильно определяется последняя заполненная строка Excel»

textual
Листинг программы
int iLastRow = xlSht.Cells[xlSht.Rows.Count, "A"].End[Excel.XlDirection.xlUp].Row;  //последняя заполненная строка в столбце А

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5
Похожие ответы