아파치 POI Library를 이용하여, 엑셀파일 읽기를 해 보겠습니다.
프로젝트에서는 많은 문서작업을 하게 됩니다.
제안서부터 각종 발표PPT, 중간보고 자료 및 산출물 등...
이런 문서들중 발표자료를 제외하면 주류가 엑셀파일 형태입니다.
이러한 엑셀파일을 Java로 핸들링하기 위해서는 별도의 Library가 필요합니다.
그 중 Apache제단에서 시행하고 있는 POI프로젝트 Library를 이용한 엑셀파일 핸들링 방법입니다.
■ 샘플 파일
■ Coding
public static void main(String[] args) {
try {
FileInputStream fis=new FileInputStream("E:/sample.xlsx");
XSSFWorkbook wb = new XSSFWorkbook( fis ); // 파일 XSSFSheet sh = wb.getSheetAt(0); // SHEET
//행의 수 int rows = sh.getPhysicalNumberOfRows();
for( int i=0; i < rows; i++ ) {
ArrayList<String> arrLine = new ArrayList<String>();
//행을 읽는다 XSSFRow row = sh.getRow( i );
if( row == null ) continue;
//셀의 수 int cells=row.getPhysicalNumberOfCells();
for( int k = 0; k <= cells; k++ ) {
//셀값을 읽는다 XSSFCell cell= sh.getRow( i ).getCell( k ); if(cell == null ) continue; //타입별로 내용 읽기 String value=""; switch (cell.getCellType() ) { case FORMULA : value=cell.getCellFormula(); break; case NUMERIC : value=cell.getNumericCellValue()+""; break; case STRING : value=cell.getStringCellValue()+""; break; case BLANK: value=cell.getBooleanCellValue()+""; break; case ERROR: value=cell.getErrorCellValue()+""; break; default: break; } arrLine.add( value ); }
System.out.println( arrLine ); } } catch (Exception e) { e.printStackTrace(); System.exit(0); } } |
■ 결과
1. (Excel)파일을 지정하고, FileInputStream fis=new FileInputStream("E:/sample.xlsx");
2. Excel파일 객체로 읽어 들입니다. XSSFWorkbook wb = new XSSFWorkbook( fis );
3. 읽은 엑셀파일의 SHEET, ROW, CELL을 읽어 핸들링합니다.
- SHEET : XSSFSheet sh = wb.getSheetAt(0);
- ROW : XSSFRow row = sh.getRow( i );
- CELL : XSSFCell cell= sh.getRow( i ).getCell( k );
끝.
'Study > Java' 카테고리의 다른 글
[Java] ASCII 코드를 이용한 끝문자(숫자) 제거 (0) | 2019.06.06 |
---|---|
[Java] LPAD / RPAD 구현하기 (0) | 2019.06.04 |
[Java] Apache POI : 다운로드 및 설치 (0) | 2018.11.25 |
Case1. Inner-Query 파싱 (0) | 2018.11.18 |
Case1. 쿼리저장 클래스를 이용한 적재 (0) | 2018.11.18 |