일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 데이터베이스
- DB
- Linux
- Windows
- PostgreSQL
- javascript
- 파이썬
- 윈도우
- hamonikr
- 아틀라시안
- 3.0
- 설치
- install
- JS
- script
- 설정
- 우분투
- postgres
- 자바스크립트
- ubuntu
- DATABASE
- 스크립트
- 노드
- Atlassian
- java
- python
- 자바
- 하모니카
- node
- 리눅스
Archives
- Today
- Total
LukeHan 의 잡다한 기술 블로그
JAVA Excel 파일 write - WritableWorkbook 본문
반응형
JAVA 프로그램 개발 중 Excel Export 기능 구현이 필요하였다.
대부분 POI 를 사용하여 구현하여 진행하려 하였으나 용량이 180Mb 정도 되었다.
개발하는 프로그램 용량이 10Mb 가 안되는데.. 다른 대안이 필요하였다.
jxl (WritableWorkbook) jar 파일 다운로드 : http://www.java2s.com/Code/Jar/j/Downloadjxl26jar.htm
// create excel and sheet
WritableWorkbook workbook = Workbook.createWorkbook(new File(path));
WritableSheet sheet1 = workbook.createSheet("시트1",0);
WritableSheet sheet2 = workbook.createSheet("시트2",1);
// header style
WritableFont headerStyle = new WritableFont(WritableFont.TAHOMA, 11, WritableFont.BOLD, false);
WritableCellFormat headerFormat = new WritableCellFormat(headerStyle);
headerFormat.setBackground(Colour.GOLD);
headerFormat.setBorder(jxl.format.Border.ALL, BorderLineStyle.THIN);
headerFormat.setAlignment(Alignment.CENTRE);
// cell style
WritableFont cellStyle = new WritableFont(WritableFont.TAHOMA, 11, WritableFont.NO_BOLD, false);
WritableCellFormat cellFormat = new WritableCellFormat(cellStyle);
cellFormat.setVerticalAlignment(jxl.format.VerticalAlignment.TOP);
cellFormat.setBorder(jxl.format.Border.ALL, BorderLineStyle.THIN);
// add data - header
sheet1.addCell(new jxl.write.Label(0, 0, "No", headerFormat));
sheet1.addCell(new jxl.write.Label(1, 0, "문서명", headerFormat));
sheet1.addCell(new jxl.write.Label(2, 0, "설명", headerFormat));
// add data - cell
sheet1.addCell(new jxl.write.Label(0, 1, "1", cellFormat));
sheet1.addCell(new jxl.write.Label(1, 1, "예제 문서", cellFormat));
sheet1.mergeCells(1, 1, 1, 2); // = (시작셀x , 시작셀y, 종료셀x, 종료셀y)
sheet1.addCell(new jxl.write.Label(2, 1, "예제로 활용하기 위한 문서", cellFormat));
// set width height
sheet1.setRowView(0,100);
sheet1.setColumView(0,20);
sheet1.setColumView(1,20);
// add hyper link
sheet2.addHyperlink(new WritableHyperlink(
0 // 링크 적용할 셀의 x좌표
, row // 링크 적용할 셀의 y좌표
, str // 링크 내용
, workbook.getSheet(str) // 이동할 시트
, 0 // 이동할 시트의 x좌표
, 0 // 이동할 시트의 y좌표
));
// write and close
workbook.write();
workbook.close();
반응형
Comments