Java/Java
Java 엑셀 파일 읽기
bboks.net
2013. 5. 23. 15:37
Java에세 엑셀 파일을 읽는 방법에는 2가지가 있다.
첫번째 방법인 JExcelApi를 이용하는 경우 의존 라이브러리가 적고 사용이 간편한 반면 엑셀97~2003 사이의 xls만 지원하는 단점이 있다.
두번째 방법인 POI를 이용하는 경우 구현에 따라 xls뿐만 아니라 xlsx까지 읽어들일 수 있다.
1. POI를 이용한 xls 읽기
라이브러리 추가
poi.jar
poi-excelant.jar
poi-ooxml.jar
poi-ooxml-schemas.jar
poi-scratchpad.jar
프로그램 작성
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; // 중략... try { // Workbook 지정 HSSFWorkbook workBook = new HSSFWorkbook(inputStream); // 읽어들이고자 하는 시트 지정 HSSFSheet sheet = workBook.getSheetAt(0); // 시트에 있는 Row의 끝가지 루프 for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) { // 시트에서 Row 가져오기 HSSFRow row = sheet.getRow(i); // Row에서 데이터 가져오기 } } catch (Exception ex) { throw new RuntimeException(ex.getMessage()); }
2. POI를 이용한 xlsx 읽기
라이브러리 추가
dom4j.jar
axis2-xmlbeans.jar
poi.jar
poi-excelant.jar
poi-ooxml.jar
poi-ooxml-schemas.jar
poi-scratchpad.jar
프로그램 작성
import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; //중략... try { // Workbook 지정 XSSFWorkbook workBook = new XSSFWorkbook(inputStream); // 시트 지정 XSSFSheet sheet = workBook.getSheetAt(0); // 시트에 포함된 Row의 끝까지 루프 for (int i = 1; i < sheet.getPhysicalNumberOfRows(); i++) { // 시트에서 Row 읽어 들이기 XSSFRow row = sheet.getRow(i); // Row에서 데이터 가져오기 } } catch (Exception ex) { throw new RuntimeException(ex.getMessage()); }