Итак, как вы видите на скриншоте ниже, я хочу получить все хранилища идентификаторов тестовых случаев в массиве, где режим запуска = Нет
Как я могу это сделать? как перебирать лист и сохранять значения?
Любое решение будет одобрено? вот мой код:
List<String> s = new ArrayList<>();
private static int findRow(HSSFSheet sheet, String cellContent) {
for (Row row : sheet) {
for (Cell cell : row) {
if (cell.getCellType() == Cell.CELL_TYPE_STRING) {
if (cell.getRichStringCellValue().getString().trim().equals("No")) {
//not able to developed further need to store the value of the first column if matched
}
}
}
}
Вы должны пропустить первую строку. Не нужно перебирать каждую ячейку строки. Используйте getCell(2) для проверки режима работы. И если это условие удовлетворяет, используйте getCell(0) для считывания идентификатора теста.
Если вам понадобится этот код в будущем, не кодируйте номера столбцов жестко, как я упоминал выше. Прочитайте первую строку (заголовок), чтобы определить столбец режима выполнения и столбец идентификатора тестового набора, а затем следуйте приведенной выше логике. Поместите текст «Режим запуска» в некоторые свойства application.properties, которые можно настроить позже.
Не проверяйте каждую ячейку подряд.
вместо этого проверьте row[2]
(Режим выполнения) и, если условие удовлетворяет, получите значение row[1]
(Описание).
Вам не нужно пропускать первую строку, потому что она не удовлетворяет вашему условию.
строка или ячейка, в которой вы упоминаете строку?
как 4-я строка вашего кода, строка содержит много ячеек, поэтому строка [1] является ячейкой.
я хочу, чтобы значение идентификатора тестового случая было сохранено, поэтому что мне делать?
я имею в виду, что вам нужен только цикл for и внутри, что вы можете использовать мое предложение.
для этого просто используйте row[0]
вполне натолкнул меня на мысль
если это помогло, проверьте ответ как принятый. Благодарю.
не то чтобы принято, но дало мне идею, иначе вам не нужно об этом спрашивать?