2016-07-04 9 views
1

Я пытался получить номер строки эффективно. Но он не работает, когда данные очищаются, а ячейки не удаляются явно.Получить последний заполненный номер строки excel в C#

Я думаю, что это из-за «Используемого диапазона».

То, что я сделал это с помощью EPPLUS

using (var excel = new ExcelPackage(hpf.InputStream)) 
{ 
    var ws = excel.Workbook.Worksheets["Sheet1"]; 

    if(ws.Dimension.End.Row > 2003) 
    { 
     var result = new JsonResult(); 
     result.Data = "FileLimitExceeded" ; 

Но это дает мне неверные данные. Как эффективно использовать последний счет.

Я нашел, как

var Lastrow = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row; 

Но пространство имен я не мог понять. Может ли кто-нибудь помочь мне с полным и правильным ответом?

+1

ссылка http://stackoverflow.com/questions/7674573/programmatically-getting-the-last-filled-excel-row-using-c-sharp –

+0

@sowjanyaattaluri В этом суть. Думаю, что даже принятый ответ там страдает от проблемы сокращения ареста. – StrugglingCoder

+0

Что делает Json с Excel или EPPlus? Где диапазон, который вы используете? Поскольку код, который вы отправили, не пытается получить доступ к какой-либо ячейке –

ответ

0

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

+0

Это должен быть комментарий, а не ответ. Кроме того, если вы можете читать данные в виде DataTable, вы уже знаете допустимый диапазон данных –

+0

Tha данные, которые я читаю, содержат пустые строки, поэтому хорошо удалять повторяющиеся строки, которые не имеют данных. Что совершенно имеет смысл. –

+0

Не совсем. Если вы укажете диапазон, Excel вернет ячейки, имеют ли они данные или нет. Вам не нужно загружать этот диапазон в DataTable, чтобы найти строки, которые фактически содержат данные. Запрос LINQ по ячейкам будет выполнять ту же работу. Самый простой вариант - создать именованные диапазоны/таблицы при создании файла, затем получить доступ к ним по имени –

Смежные вопросы