POI는 자바에서 엑셀 문서를 만들어기 위해서 만들어진 아파치 라이브러리입니다.
실제로 엑셀에서 값을 체우기 위해서 할 수 있는 거의 모든 작업을 할 수 있습니다.
여기에서는 사용법과 대표적인 기능 몇 가지를 소개합니다.
우선 Dependency는 아래와 같습니다.
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.10-FINAL</version> </dependency> |
혹시 모르니 jar파일도 첨부합니다.
1. 새 엑셀 파일을 만들고 새로운 시트를 만들자.
Workbook wb = new HSSFWorkbook(); Sheet sheet1 = wb.createSheet("new sheet"); FileOutputStream fileOut = new FileOutputStream("C:/workbook.xls"); wb.write(fileOut); fileOut.close(); |
위와 같이 코드를 작성한다면 c:\ 의 위치에 workbook.xls라는 파일이 생긴 것을 확인 하실 수 있습니다. 파일이 생성 될 때는 저장 장소를 선택한다는 등의 액션이 일어나지 않으니 아무런 반응이 없다고 당황하지 마시고 저장한 경로로 들어가서 확인해 보시기 바랍니다.
코드를 보면 createSheet로 시트를 생성, 이름을 줄 수 있으며, 그것을 파일로 내보내는 것을 알 수 있습니다.
2. 엑셀 필드에 값을 체워보자.
Workbook wb = new HSSFWorkbook(); Sheet sheet1 = wb.createSheet("new sheet");
Row row = sheet1.createRow((short) 0); for(int idx=0; idx<5; idx++){ Cell cell = row.createCell(idx); cell.setCellValue(idx); }
FileOutputStream fileOut = new FileOutputStream("C:/workbook.xls"); wb.write(fileOut); fileOut.close(); |
생성된 시트에 새로운 줄을 넣기 위한 Row를 생성합니다.
그리고 그 Row에 접근하여 셀을 생성하며 setCellValue로 그 셀에 값을 체워 넣을 수 있습니다.
엑셀은 이렇듯 Sheet - Row - Cell 순서로 접근하여 값을 조작하게 됩니다.
3. 컬럼의 크기를 변경해보자.
Workbook wb = new HSSFWorkbook(); Sheet sheet1 = wb.createSheet("new sheet"); sheet1.setColumnWidth(0, 13*256); sheet1.setColumnWidth(3, 50*256); sheet1.setColumnWidth(5, 21*256);
... |
엑셀에서 컬럼의 크기는 셀이나 줄마다 바뀔 수 있는 것이 아니기 때문에 Sheet에 접근해서 설정합니다.
setColumnWidth(Column Index, width size)의 순서입니다. n * 256의 형태로 한 이유는 1글자가 256의 크기를 갖기 때문에 13글자가 들어갈 만큼의 공간을 갖기 위해서 13 * 256 과 같은 형태를 사용했습니다.
4. 셀에 여러가지 옵션을 주자.
CellStyle style = wb.createCellStyle(); style.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게 style.setBorderLeft(CellStyle.BORDER_THIN); style.setBorderRight(CellStyle.BORDER_THIN); style.setBorderTop(CellStyle.BORDER_THIN);
style.setAlignment(CellStyle.ALIGN_CENTER); //가운데 정렬 Font font = wb.createFont(); font.setBoldweight(Font.BOLDWEIGHT_BOLD); //글씨 bold
Cell cell = row.createCell(0); cell.setCellValue("1234"); cell.setCellStyle(style);
|
셀에 여러가지 옵션을 주기 위해서는 CellStyle을 이용합니다.
테두리의 굵기, 정렬, 글씨의 색상, 셀의 색상등 다양한 작업을 할 수 있습니다.
기타 다른 예제들은 아래의 주소를 참고해주세요.
http://poi.apache.org/spreadsheet/quick-guide.html
[출처] [JAVA] 자바에서 엑셀을 만들자 : Apache POI|작성자 심해펭귄
'JAVA > EXCEL컨트롤관련' 카테고리의 다른 글
POI - Excel Read/Write(xls, xlsx) sample (0) | 2014.11.27 |
---|---|
xbeans 관련오류수정 (0) | 2014.11.17 |
[JAVA] POI 라이브러리를 이용한 엑셀 읽기 (0) | 2014.10.23 |
apache poi 를 이용한 엑셀 다운로드 처리 (0) | 2014.10.17 |
[Java] POI - 자바로 엑셀 파일 출력하기 (0) | 2014.10.17 |
opencsv 사이트 (0) | 2014.10.17 |
apache poi 사이트 (0) | 2014.10.17 |
JXL 을 이용한 엑셀파일 (0) | 2014.10.17 |