Ich habe eine Tabelle containging Zeilen ähnlich wie dieseWie Anzeigen String Match nur einmal in der Schleife in Apache POI HSSF
SomeText1 SomeText2 SomeText3
Tommy Tommy John
Gilaen Tamara Shaz
Tamara Phil Tamara
ich für Zeilen filtern möchten enthält ‚Tamara‘ so den Reihen sollte ich werde erhalten
SomeText1 SomeText2 SomeText3
Gilaen Tamara Shaz
Tamara Phil Tamara
um zu versuchen, dies zu tun, ich
Map<String,String> mapEndoscBarr= new LinkedHashMap<String,String>();
FileInputStream fis = new FileInputStream(new File(filepath));
HSSFWorkbook workBook = new HSSFWorkbook (fis);
HSSFSheet sheet = workBook.getSheetAt (0);
List<HSSFRow> filteredRows = new ArrayList<HSSFRow>();
//Filter by pathology from what I am given
Iterator<Row> rows= sheet.rowIterator();
while (rows.hasNext()){
HSSFRow row = (HSSFRow) rows.next();
Iterator<Cell> cells = row.cellIterator();
while (cells.hasNext()){
HSSFCell cell = (HSSFCell) cells.next();
if (cell.toString().contains("Tamara")) {
filteredRows.add(row);
}
}
}
jedoch die Schleife der Zeile everyti fügt den folgenden Code verwenden mir die Übereinstimmung gefunden wird, so dass ich mit duplizierten Zeilen am Ende wie folgt:
SomeText1 SomeText2 SomeText3
Gilaen Tamara Shaz
Tamara Phil Tamara
Tamara Phil Tamara
Wie kann ich nur ein Spiel zwingen so nicht diese doppelte ich bekomme und es passt, wenn Tamara vorhanden überall in der Reihe ist.
Großen. Vielen Dank. Ich dachte, ich müsste die Schleife neu arrangieren. –