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 |
Tags
- Android
- varags
- asp.net
- 이클립스
- STS
- jsp
- MSsql
- Eclipse
- Bootstrap
- MS-SQL
- 웹 서비스
- 컬럼명
- Java
- Redirect
- WebView
- SpringSource Tool Suite
- 웹뷰
- 자바스크립트
- C#
- javascript
- html
- scrollView
- TextBox
- Apache Lucene
- 안드로이드
- 자바
- Maven
- decompiler
- Web Service
- MANTIS
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()); }