안녕하세요 개발로짜입니다.
지난 포스팅은 데이터들을 엑셀파일로 만드는 작업을 진행했었죠?
이번에는 이전 포스팅에 만든 엑셀파일을 반대로 읽어보는 내용을 진행하도록 하겠습니다.
지난 포스팅에서 만든 엑셀파일에 존재하는 데이터 출력입니다.
2014/10/07 - [코드저장소/java] - POI라이브러리를 이용하여 엑셀파일(xls,xlsx) 에 데이터 넣어서 파일로 만들기
위와 같이 엑셀파일내에 존재하는 내용들입니다.
이 생성된 파일을 콘솔에 각 셀마다 읽어보도록 하겠습니다.
이번에는 버전별 코드를 작성해보도록 하겠습니다.
//파일을 읽기위해 엑셀파일을 가져온다 FileInputStream fis=new FileInputStream("D:\\roqkffhwk.xls"); HSSFWorkbook workbook=new HSSFWorkbook(fis); int rowindex=0; int columnindex=0; //시트 수 (첫번째에만 존재하므로 0을 준다) //만약 각 시트를 읽기위해서는 FOR문을 한번더 돌려준다 HSSFSheet sheet=workbook.getSheetAt(0); //행의 수 int rows=sheet.getPhysicalNumberOfRows(); for(rowindex=1;rowindex<rows;rowindex++){ //행을 읽는다 HSSFRow row=sheet.getRow(rowindex); if(row !=null){ //셀의 수 int cells=row.getPhysicalNumberOfCells(); for(columnindex=0;columnindex<=cells;columnindex++){ //셀값을 읽는다 HSSFCell cell=row.getCell(columnindex); String value=""; //셀이 빈값일경우를 위한 널체크 if(cell==null){ continue; }else{ //타입별로 내용 읽기 switch (cell.getCellType()){ case HSSFCell.CELL_TYPE_FORMULA: value=cell.getCellFormula(); break; case HSSFCell.CELL_TYPE_NUMERIC: value=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("각 셀 내용 :"+value); } } }
파일을 읽기위해 엑셀파일을 가져온다 FileInputStream fis=new FileInputStream("D:\\roqkffhwk2.xlsx"); XSSFWorkbook workbook=new XSSFWorkbook(fis); int rowindex=0; int columnindex=0; //시트 수 (첫번째에만 존재하므로 0을 준다) //만약 각 시트를 읽기위해서는 FOR문을 한번더 돌려준다 XSSFSheet sheet=workbook.getSheetAt(0); //행의 수 int rows=sheet.getPhysicalNumberOfRows(); for(rowindex=1;rowindex<rows;rowindex++){ //행을읽는다 XSSFRow row=sheet.getRow(rowindex); if(row !=null){ //셀의 수 int cells=row.getPhysicalNumberOfCells(); for(columnindex=0;columnindex<=cells;columnindex++){ //셀값을 읽는다 XSSFCell cell=row.getCell(columnindex); String value=""; //셀이 빈값일경우를 위한 널체크 if(cell==null){ continue; }else{ //타입별로 내용 읽기 switch (cell.getCellType()){ case XSSFCell.CELL_TYPE_FORMULA: value=cell.getCellFormula(); break; case XSSFCell.CELL_TYPE_NUMERIC: value=cell.getNumericCellValue()+""; break; case XSSFCell.CELL_TYPE_STRING: value=cell.getStringCellValue()+""; break; case XSSFCell.CELL_TYPE_BLANK: value=cell.getBooleanCellValue()+""; break; case XSSFCell.CELL_TYPE_ERROR: value=cell.getErrorCellValue()+""; break; } } System.out.println("각 셀 내용 :"+value); } } }
XLS 및 XLSX의 결과는 상단과 모두 동일하게 나올것입니다.
필요한 내용에따라 사용하도록 하세요 ㅎㅎ
by 개발로짜
자바 zxing를 이용하여 QR코드 생성 + 색상코드(hex,rgb,안드로이드그래픽색상) 적용법 (2) | 2014.10.16 |
---|---|
자바 다운로드 유틸을 만들어서 웹서버에 등록되있는 파일을 다운로드 하자 (5) | 2014.10.07 |
POI라이브러리를 이용하여 엑셀파일(xls,xlsx) 에 데이터 넣어서 파일로 만들기 (1) | 2014.10.07 |
DTO,VO에 정의되어있는 변수명 및 갯수에 관계없이 변수명과 value값 한방에 가져오기 (0) | 2014.10.07 |
Map객체의 key값을 읽어서 value값 한번에 추출하기 (0) | 2014.10.07 |