как получить количество строк EPPlus OpenXML (c #) - PullRequest
13 голосов
/ 06 декабря 2011

Я искал его и нашел ссылку C # EPPlus Количество строк OpenXML

int iRowCount = currentWorksheet.Dimension.End.Row - currentWorksheet.Dimension.Start.Row;

Но это дает значение 4721 как количество. Это дает общее количество строк, как я могу получить количество строк, которое имеет значение. Что-то вроде UsedRange.

Ответы [ 4 ]

49 голосов
/ 10 августа 2012

Фактический ответ для возврата числа строк и столбцов с использованием UsedRange (размер) листа: ...

int iColCnt = Worksheet.Dimension.End.Column
int iRowCnt = Worksheet.Dimension.End.Row

Но вам нужно проверить, является ли Worksheet.Dimension пустым, потому что длялисты или пустые листы, свойство Dimension будет иметь значение null.

28 голосов
/ 31 мая 2013

Пустые ячейки на листе могут по-прежнему содержать форматирование, что приводит к их подсчету на листе. Размер:

Пустые ячейки можно очистить, используя следующие шаги: http://office.microsoft.com/en-au/excel-help/locate-and-reset-the-last-cell-on-a-worksheet-HA010218871.aspx

Я написал эту функцию, чтобы получить последнюю строку, содержащую текст:

int GetLastUsedRow(ExcelWorksheet sheet) {
    var row = sheet.Dimension.End.Row;
    while(row >= 1) {
        var range = sheet.Cells[row, 1, row, sheet.Dimension.End.Column];
        if(range.Any(c => !string.IsNullOrEmpty(c.Text))) {
            break;
        }
        row--;
    }
    return row;
}
1 голос
/ 26 июня 2017

Есть способ получить ячейки, которые не имеют никакого значения, используя метод Where. Мы можем использовать его, чтобы найти самую последнюю ячейку (и в данном случае ее строку) из листа или диапазона.

int lastRow = sheet.Cells.Where(cell => !cell.Value.ToString().Equals("")).Last().End.Row;

О методе Where: https://msdn.microsoft.com/en-us/library/bb534803(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1

0 голосов
/ 06 декабря 2011

Вы можете получить счет по workBook.Worksheets.Count

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...