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