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