2016-12-03 3 views
1

Я написал несколько строк кода, первая строка являетсяAnyLogic - getCellNumericValue

state=(int)Excelfile.getCellNumericValue(1,i,1); 

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

Теперь мне нужно было прекратить получение данных после того, как код достигнет последней строки данных. Для этого я попытался проверить, имело ли значение state значение null, так что я мог бы закончить функцию, которая получает данные, но при этом программа выдает ошибку, прежде чем я могу даже проверить значение состояния.

Итак, как я могу закончить функцию, когда она достигает последней плюс одна строка данных (строка после последней строки данных)?

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

ответ

0

Существует функция ExcelFile.getLastRowNum(), которая возвращает номер последней строки данных в заданном листе. Просто прокрутите до тех пор, пока ваше «i» не достигнет этого числа.

ура

+0

Приносим извинения, так как я упоминал об этом раньше, но столбец содержит только 1 и 0. Итак, я думаю, мне нужно найти способ проверить нулевое значение? –

+0

не должен иметь значения. Просто убедитесь, что вы правильно отформатировали лист excel. В идеале создайте новый лист и вставьте свои данные. Затем попробуйте функцию на этом новом листе. Else, выберите все строки * ниже * ваши данные, щелкните правой кнопкой мыши и выберите «удалить». Это гарантирует, что AnyLogic интерпретирует эти строки как пустые и возвращает правильное количество строк. – Benjamin

Смежные вопросы