#java #excel #selenium #for-loop
Вопрос:
Образец листа excel (я использую гораздо больший лист excel):
Колонка0 | Колонка1 | Колонка2 | Колонка3 | Колонка4 | Колонка5 |
---|---|---|---|---|---|
строка 0 | красный | x | x | x | |
строка 1 | Оранжевый | x | x | ||
строка 2 | Желтый | x | x | x | |
строка 3 | Зеленый | x | x | x | |
строка 4 | Синий | x | x | ||
строка 5 | Фиолетовый | x | x | ||
строка 6 | Розовый | x |
Давайте предположим, что я хочу выбрать строку 3. Как мне получить имена столбцов, в которых присутствуют буквы x’? Для строки 3 я хочу отобразить на своей консоли «столбец 2, столбец 3, столбец 5». Я также пытаюсь начать с определенного индекса столбца, поэтому у меня был столбец, который отличался от x. Поэтому для примера мне нужно выполнить итерацию из столбца 2—>столбца 5, затем определить в строке 3, в какой из ячеек есть x, а затем определить имена этих столбцов. В моем коде ниже у меня были номера в реальном времени, которые я использую.
//find x's in certain row
//pick row 15
int rowIndex = 15;
//start at column 9 and iterate to column 33
for (int columnIndex = 9; columnIndex<33; columnIndex ){
Row row = CellUtil.getRow(rowIndex, sheet);
Cell cell = CellUtil.getCell(row, columnIndex);
//if row contains x in specific cells, get column name
//progTypes is the name of the columns appearing in row index 0
if(cell.getStringCellValue() == "x") {
for(int progTypes = 9; progTypes < 33; progTypes ) {
for (int firstRow = 0; firstRow < 0; firstRow ) {
Row fRow = CellUtil.getRow(firstRow, sheet);
Cell fColumn = CellUtil.getCell(fRow, progTypes);
String columnName = fColumn.getStringCellValue();
System.out.println(columnName);
}
}
}
Ответ №1:
Если я правильно понял, вам не нужны два цикла for в вашем случае if, так как у вас уже есть индекс ячейки.
if(cell.getStringCellValue() == "x") {
Row fRow = CellUtil.getRow(0, sheet);
Cell fColumn = CellUtil.getCell(fRow, columnIndex);
String columnName = fColumn.getStringCellValue();
System.out.println(columnName);
}
Ответ №2:
Используйте POI Apache. Существует ряд примеров доступа к электронным таблицам и их изменения по адресу https://poi.apache.org/components/spreadsheet/examples.html