본문 바로가기

JAVA

[JAVA] jsp 파일 내용중에서 한글 찾아내서 excel 파일로 저장


jsp 파일 내용중에서 한글 찾아내서 excel 파일로 저장
 
 
#################### 한글 찾아내기 ###################
---------------  FindHangle .java 내용 중 --------------------
// 파일 읽기
    file = new File(fileList.get(i));
    br = new BufferedReader(new InputStreamReader(new FileInputStream(file), charset));
    System.out.println("한글 추출... " + fileList.get(i));
   
    // 한 라인씩 읽어들인다.
    while( (line = br.readLine()) != null ) {
  
     length = line.length();
    
     /**
      * 한글 찾기
      * "서윤정 ㅁㄴdfdf 그러니까?" -> "서윤정 ㅁㄴdfdf 그러니까"
      * "abcd 안 서" -> "안 서"
      * "<td>제목</td><td>이름</td>" -> 제목</td><td>이름"
      */
    
     // 앞에서부터 한글 찾기
     for(int j=0 ; j < length ; j++) {
      c = line.substring(j, j+1);
      if( c.matches("[가-힣]") == true ) {
       startIdx = j;
      }
     
      // 앞에서부터 한글을 찾았으면 그만~
      if(startIdx != -1) {
       break;
      }
     } // end for
    
     // 뒤에서부터 한글 찾기
     for(int j=length ; j > 0 ; j--) {
      c = line.substring(j-1, j);
     
      if( c.matches("[가-힣]") == true ) {
       endIdx = j;
      }
     
      if(endIdx != -1) {
       break;
      }
     } // end for
    
     // 찾은 앞에서부터 뒤에까지 잘른다.
     if(startIdx != -1 && endIdx != -1) {
      sub = line.substring(startIdx, endIdx);
     
      // 중복으로 들어가기 때문에 지웠다가 넣기
      hangulList.remove(sub);
      hangulList.add(sub);
     }
     /**
      * 한글 찾기 끝
      */
    
     // 초기화
     startIdx = -1;
     endIdx = -1;
        
    } // end while  
   
   } // end for
----------------------------------------------------
 
################### 엑셀 저장하는 부분 ####################
------------------ SaveExcel.java -------------------
public SaveExcel(List<String> hangulList, String saveFile) {
 
  File file = new File(saveFile);
 
  WritableWorkbook workbook = null;
 
  try {
   System.out.println("엑셀 저장중... " + file.toString());
  
   // 엑셀 파일 생성
   workbook = Workbook.createWorkbook(file);
   // 시트 생성
   workbook.createSheet("결과", 0);
   // 시트 가져오기
   WritableSheet sheet = workbook.getSheet(0);
  
  
   int col = 0;
   int maxRow = hangulList.size();
  
   for(int row=0 ; row < maxRow ; row++) {
    // 시트에 입력[Ax] 칸에 입력
    sheet.addCell( new Label(col, row, hangulList.get(row)) );
   }
  
   // 저장
   workbook.write();
     
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   try {
    workbook.close();
   } catch (Exception ignore) {
   
   }
  }
  System.out.println("엑셀 저장 완료");
 
 }
 
--------------------------------------------------

이클립스 열고 예제 파일 ㄱㄱㄱ! ^-^  App.java 파일의 드라이브 경로는 본인에 맞게끔 해 주세용~