Я проверил несколько онлайн-ресурсов, возможно, я слепой, но пока не смог найти ответ на этот вопрос.
Я загружаю файл, преобразовываю его в поток и передаю в 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, возможно, что строка может быть пустой, поэтому проверка на наличие нулевых строк будет немного беспорядочной.