본문 바로가기

jsp

자바<JAVA> JXL이용하여 엑셀 읽기 초간단 예제 자바 프로그램

자바<JAVA> JXL이용하여 엑셀 읽기 초간단 예제  자바 프로그램

2009/10/30 16:30

복사 http://blog.naver.com/lover4908/110072757319

첨부파일 (1)

바로 전 포스트 글은 엑셀이 쓰는걸 올렸는데요.

지금은 읽는것을 올리도록 하겠습니다.

 

/**
 *
 */

import java.io.File;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;

/**
 * @author JunSeong
 *
 */
public final class EtcUtil {

 

 
public final static String[][] simpleExcelRead(File targetFile) throws Exception {
  
  Workbook workbook = null;
  Sheet sheet = null;
  
  String[][] data = null;
  
  try {
   workbook = Workbook.getWorkbook(targetFile);     //존재하는 엑셀파일 경로를 지정
   sheet = workbook.getSheet(0);                               //첫번째 시트를 지정합니다.
   
   int rowCount = sheet.getRows();                            //총 로우수를 가져옵니다.
   int colCount = sheet.getColumns();                       //총 열의 수를 가져옵니다.
   
   if(rowCount <= 0) {
    throw new Exception("Read 할 데이터가 엑셀에 존재하지 않습니다.");
   }
   
   data = new String[rowCount][colCount];
   
   
   //엑셀데이터를 배열에 저장
   for(int i = 0 ; i < rowCount ; i++) {
    for(int k = 0 ; k < colCount ; k++) {
     Cell cell =sheet.getCell(k, i);                   // 해당위치의 셀을 가져오는 부분입니다.
     if(cell == null) continue;
     data[i][k] = cell.getContents();              // 가져온 셀의 실제 콘텐츠 즉 데이터(문자열)를 가져오는 부분입니다.
    }
   }
   
   //데이터 검증 테스트
   for(int r=0 ; r<data.length ; r++) {
    for(int c=0 ; c<data[0].length ; c++) {
     System.out.print(data[r][c]+" ");
    }
    System.out.println();
   }
   
  } catch (Exception e) {
   e.printStackTrace();
   throw e;
  } finally {
   try {
    if(workbook != null) workbook.close();
   } catch (Exception e) {
   }
  }
  
  return data;
 }
 
 
 /**
  * @param args
  */
 public static void main(String[] args) {
  
  try {
   EtcUtil.simpleExcelRead(new File("c:/test.xls"));
  } catch (Exception e) {
   e.printStackTrace();
  }
  
 }

}

 

main 메소드는 테스트 실행 메소드 입니다.

위의 엑셀 파일을 main 메소드로 실행하면 콘솔창에 아래와 같이 찍힙니다.

COL1 COL2 COL3 COL4
DATA11 DATA12 DATA13 DATA14
DATA21 DATA22 DATA23 DATA24
DATA31 DATA32 DATA33 DATA34

 

역시 JXL이 기능이 많지 않아도 , 간단하게 읽고 쓰는데는 무자게 편합니다.

 

JXL를 사용하기 위해서는 JAR파일이 필요하구요. 역시 올려 두겠습니다.

 

그럼 오늘도 수고~