Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 웹뷰
- MS-SQL
- Redirect
- Apache Lucene
- Android
- WebView
- jsp
- 이클립스
- asp.net
- varags
- TextBox
- SpringSource Tool Suite
- Java
- MSsql
- scrollView
- 자바스크립트
- 컬럼명
- Eclipse
- Web Service
- 웹 서비스
- MANTIS
- Bootstrap
- STS
- Maven
- 자바
- C#
- 안드로이드
- decompiler
- html
- javascript
Archives
- Today
- Total
bboks.net™
Java 엑셀 파일 읽기 본문
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());
}