Как получить данные ячейки из excel, где совпало какое-то значение?

Итак, как вы видите на скриншоте ниже, я хочу получить все хранилища идентификаторов тестовых случаев в массиве, где режим запуска = Нет

Как я могу это сделать? как перебирать лист и сохранять значения?

Любое решение будет одобрено? вот мой код:

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
                }
            }
        }
    }

Как получить данные ячейки из excel, где совпало какое-то значение?

Любое решение будет одобрено? — чтобы здесь были показаны ваши усилия. Что вы сделали до сих пор? Что не работает? Если вам нужен общий совет о том, как это сделать, я могу дать вам подсказку: используйте apache.poi и просто перебирайте строки и столбцы...
deHaar 08.04.2019 13:32
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
189
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы должны пропустить первую строку. Не нужно перебирать каждую ячейку строки. Используйте getCell(2) для проверки режима работы. И если это условие удовлетворяет, используйте getCell(0) для считывания идентификатора теста.

Если вам понадобится этот код в будущем, не кодируйте номера столбцов жестко, как я упоминал выше. Прочитайте первую строку (заголовок), чтобы определить столбец режима выполнения и столбец идентификатора тестового набора, а затем следуйте приведенной выше логике. Поместите текст «Режим запуска» в некоторые свойства application.properties, которые можно настроить позже.

Ответ принят как подходящий

Не проверяйте каждую ячейку подряд. вместо этого проверьте row[2](Режим выполнения) и, если условие удовлетворяет, получите значение row[1](Описание).

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

строка или ячейка, в которой вы упоминаете строку?

akshay patil 08.04.2019 14:07

как 4-я строка вашего кода, строка содержит много ячеек, поэтому строка [1] является ячейкой.

mohammad RaoofNia 08.04.2019 14:10

я хочу, чтобы значение идентификатора тестового случая было сохранено, поэтому что мне делать?

akshay patil 08.04.2019 14:10

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

mohammad RaoofNia 08.04.2019 14:11

для этого просто используйте row[0]

mohammad RaoofNia 08.04.2019 14:12

вполне натолкнул меня на мысль

akshay patil 08.04.2019 14:25

если это помогло, проверьте ответ как принятый. Благодарю.

mohammad RaoofNia 10.04.2019 10:44

не то чтобы принято, но дало мне идею, иначе вам не нужно об этом спрашивать?

akshay patil 10.04.2019 10:48

Другие вопросы по теме