bboks.net™

Java 엑셀 파일 읽기 본문

Java/Java

Java 엑셀 파일 읽기

bboks.net 2013. 5. 23. 15:37

Java에세 엑셀 파일을 읽는 방법에는 2가지가 있다.

  1. JExcelApi를 이용하는 방법
  2. POI을 이용한 방법

첫번째 방법인 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());
}



[참고] Read Excel File (.XLS) in Java

           Read Excel File (.XLSX) in Java