2016-06-10 4 views
0

에서 광고 문자열 일치에 나는 '타마라'를 포함하는 행을 필터링 할이한 번만 아파치 POI 루프 HSSF

SomeText1 SomeText2 SomeText3 
Tommy  Tommy  John 
Gilaen Tamara  Shaz 
Tamara  Phil  Tamara 

처럼 많은 행을 containging 스프레드 시트가 어떻게 될 것 가야 행하므로

SomeText1 SomeText2 SomeText3 
Gilaen Tamara  Shaz 
Tamara  Phil  Tamara 

내가 루프가 행 everyti을 추가 그러나 다음 코드

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

을 사용하고이 작업을 수행하려고합니다 다음과 같이 내가 중복 행을 끝낼 수 있도록 저 경기는 발견 : 그냥 하나의 일치를 강제 할 방법

SomeText1 SomeText2 SomeText3 
Gilaen Tamara  Shaz 
Tamara  Phil  Tamara 
Tamara  Phil  Tamara 

그래서 난이 중복하지 않고 타마라가 어디 행에있는 경우는 일치합니다.

답변

3

그냥 한 번 일치하는 세포의에서 발견되는 세포의 반복에서 벗어나 :

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); 
         break; 
        } 
      } 
      } 
+0

우수함. 감사. 루프를 재정렬해야한다고 생각했습니다. –