#java #excel #maven #apache-poi
#java #преуспеть #мавен #apache-poi
Вопрос:
Я использую apache poi для чтения и записи значений в файл Excel с помощью Java. У меня есть файл Excel ниже, из этого файла мне нужно извлечь данные, которые соответствуют моим требуемым критериям.
Приложение | CaseID | FeeType | Комментарии |
---|---|---|---|
AppA | 1234 | Безопасность | Добавить комментарии |
AppB | 1235 | Другое | Создан случай |
AppA | 1236 | Безопасность | Добавлены комментарии |
В моем коде я хочу получить все случаи, которые подпадают под следующие критерии: приложение, установленное на «AppA», тип платы, установленный на «Безопасность», и комментарии с помощью «Добавить комментарии».
Я использовал приведенный ниже код для фильтрации по двум столбцам для критериев поиска, но я не могу добавить третий критерий. Пожалуйста, помогите мне.
ArrayList<Object> ApplicationCases = new ArrayList<Object>();
for (Row row : sheetName) {
for (Cell cell : row) {
if (cell.getCellType() == CellType.STRING) {
if (cell.getRichStringCellValue().getString().trim().equals(requiredCellContent1)) {
int rowNumber = row.getRowNum();
XSSFRow row1 = sheetName.getRow(rowNumber);
XSSFCell selectedCellValue = null;
short cellcount = row1.getLastCellNum();
for (int i = 0; i < cellcount; i ) {
if (row1.getCell(i).getRichStringCellValue().getString().trim()
.equals(requiredCellContent2)) {
selectedCellValue = row1.getCell(1);
ApplicationCases.add(selectedCellValue);
} else if (selectedCellValue == null || row1.getCell(i).getCellType() == CellType.BLANK) {
}
}
}
}
Ответ №1:
Можете ли вы сделать что-то вроде приведенного ниже
Iterator<Row> rows = sheet.rowIterator();
while(rows.hasNext()) {
Row row = rows.next();
String app = row.getCell(0).getRichStringCellValue().getString();
String feeType = row.getCell(2).getRichStringCellValue().getString();
String comment = row.getCell(3).getRichStringCellValue().getString();
if(app.equals("AppA") amp;amp; feeType.equals("Security") amp;amp; comment.equals("Add Comments")) {
//Here is your condition satisfied
}
}