Получить количество строк данных с SpreadSheetGear? - PullRequest
9 голосов
/ 28 июня 2011

Я проверил несколько онлайн-ресурсов, возможно, я слепой, но пока не смог найти ответ на этот вопрос.

Я загружаю файл, преобразовываю его в поток и передаю в SpreadSheetGear. Теперь мне нужно пройтись по каждой строке и прочитать данные (что нормально). Вот мой код:

IWorkbook wb = Factory.GetWorkbookSet().Workbooks.OpenFromStream(file.InputStream);
IWorksheet ws = wb.ActiveWorksheet;
IRange cells = ws.Cells;

for (int i = 2; i <= cells.RowCount; i++)
{
    //Code for every row
    for (int x = 1; x <= cells.ColumnCount; x++)
    {
         //Code for every column
    }
}

Вот проблема: cell.RowCount равен 1048576 , что явно является верхним пределом Excel для числа строк. Есть ли вызов SpreadSheetGear, который возвращает количество строк с данными? Я не могу использовать фиксированную сумму, так как предоставленная таблица может содержать от 500 до 2000 строк.

Я понимаю, что SpreadSheetGear, возможно, не так широко используется, но я все-таки решил, что мне удастся поднять руку.

Ура!

Редактировать:

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

1 Ответ

9 голосов
/ 28 июня 2011

Ответил на мой собственный вопрос, всегда так.

В любом случае, в конце концов нашел IWorksheet.UsedRange, который возвращает только использованные ячейки.

...