처음에 올렸던 엑셀파일 다운로드에 이어서 내용읽기 부분을 진행하겠다.
첨부한 파일을 다운받으셔서 돌려보시길...
필요 라이브러리 관련해서는 엑셀다운로드 샘플링구현때 설명을 드렸습니다.
poi작업을 할 구성이 완료 되었으면
엑셀 파일을 읽어보자
엑셀 파일을 읽어서 구현가능한 기능은 일괄로 db에 insert하는 작업이 가능하겠다.
db insert 구현하는 부분은 응용을 하시도록 하고...
본인은 엑셀파일 읽는 수준으로만 간단하게 샘플링을 올리도록 하겠음..
해당 샘플은 xls용으로 우선 구현이 되있다.
xlsx버전은 후에 올리도록 하겠음.. 뭐 별차이는 없지만;;;
우선 샘플 코드부분
FileInputStream is = new FileInputStream("D:\\sample.xls"); //워크북 생성 HSSFWorkbook workbook = new HSSFWorkbook(is); int i = 0 short c = 0; //시트생성 HSSFSheet sheet = workbook.getSheetAt(0); //row사이즈담기 int rows = sheet.getPhysicalNumberOfRows(); //읽은 row 사이즈만큼 반복 for(i=1; i<rows; i++) { //excel파일의 시트에있는 row를 읽는다 HSSFRow row = sheet.getRow(i); // row가 비어있지 않으면 if(row != null) { //cell의 갯수를 담는다 int cells = row.getPhysicalNumberOfCells(); //cell의 수만큼 반복 for(c = 0; c<=cells;c++) { //cell값 읽기 HSSFCell cell = row.getCell(c); String value=""; //중간중간 cell이 널일수도 있으므로 if(cell == null) { continue; } else { //cell내용이 존재 //타입관련 적용은 여러가지가 있음 골라서 쓰시길... switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_FORMULA: value = cell.getCellFormula(); break; case HSSFCell.CELL_TYPE_NUMERIC: value =""+(int)cell.getNumericCellValue(); break; case HSSFCell.CELL_TYPE_STRING: value =""+cell.getStringCellValue(); break; case HSSFCell.CELL_TYPE_BLANK: value =""+cell.getBooleanCellValue(); break; case HSSFCell.CELL_TYPE_ERROR: value=""+cell.getErrorCellValue(); break; } } System.out.println("엑셀cell내용읽기:"+value); } } }
위에보면 xls파일을 지정하고 파일을 읽어왔는데 해당 소스를 응용하여 JSP웹페이지에서
multipartfile로 받아온 첨부파일의 내용을 읽을수 있겠다.
예를 들어 multipartfile의 명칭이 fileNm이라고 할경우
HSSFWorkbook workbook = new HSSFWorkbook(fileNm.getInputStrem());
형식으로만 변경을 해주면 될것이다.
도움이 되셨다면 손가락↓ 클릭! 궁금하신점은 댓글!!
json-simple 라이브러리를 이용한 ObjecToString 과 StringToObject 코드구현 (2) | 2014.07.04 |
---|---|
자바 파일다운로드 - 멀티 브라우저지원 샘플코드 (0) | 2014.06.12 |
게시물 번호 구하기 샘플소스 (0) | 2014.06.09 |
자바 썸네일 이미지 생성 (0) | 2014.06.09 |
poi 라이브러리를 이용하여 엑셀 파일을 만들어보도록 하자 - (xls 확장자) (0) | 2014.06.05 |