Ответ 1
Вы можете получить счет на workBook.Worksheets.Count
Я искал его и нашел ссылку С# EPPlus OpenXML подсчитывает строки
int iRowCount = currentWorksheet.Dimension.End.Row - currentWorksheet.Dimension.Start.Row;
Но это дает значение 4721 как счетчик. Он дает весь ряд строк, как я могу получить количество строк строк, которое имеет значение. Что-то вроде UsedRange.
Вы можете получить счет на workBook.Worksheets.Count
Фактический ответ на возврат числа строк и столбцов используемого диапазона (размер) листа...
int iColCnt = Worksheet.Dimension.End.Column
int iRowCnt = Worksheet.Dimension.End.Row
Но вам нужно проверить, имеет ли значение Worksheet.Dimension значение null, поскольку для новых рабочих листов или пустых листов свойство Dimension будет равно null.
Пустые ячейки на листе могут содержать форматирование, заставляющее их подсчитываться в листе. Размер:
Пустые ячейки можно очистить, используя следующие шаги: 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;
}
Существует способ получить ячейки, которые не имеют значения, используя метод 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