본문
Excel File 만들기(JAVA)
프로그래밍/Java 2017. 1. 17. 22:11
# Excel File 만들기
JXL 라이브러리를 이용하면 손쉽게 생성 가능하다.
sample에서는 테스트 데이터를 생성하여 사용하고 있지만,
DB에 저장된 데이터를 가져오도록 응용한다면 excel file export 로직을 구현할 수 있다.
# JXL Homepage : http://jexcelapi.sourceforge.net
# JXL JAR : jxl.jar
sample)
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | package com.aimir.bo.device; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public class MakeExcelFile { public static void main(String[] args) { try { // 엑셀파일 객체 생성 WritableWorkbook workbook = null; // 시트 객체 생성 WritableSheet sheet = null; // 셀 객체 생성 Label label = null; // 저장할 파일 객체 생성 File file = new File("C:\\excel_test\\test.xls"); // 테스트 데이터 (S) HashMap hm_0 = new HashMap(); hm_0.put("name", "홍길동"); hm_0.put("age", "21"); HashMap hm_1 = new HashMap(); hm_1.put("name", "아무개"); hm_1.put("age", "20"); List list = new ArrayList(); list.add(hm_0); list.add(hm_1); // 테스트 데이터 (E) // 파일 생성 workbook = Workbook.createWorkbook(file); // 시트 생성 workbook.createSheet("sheet1", 0); sheet = workbook.getSheet(0); // 셀에 쓰기 label = new Label(0, 0, "name"); sheet.addCell(label); label = new Label(1, 0, "age"); sheet.addCell(label); // 데이터 삽입 for (int i = 0; i < list.size(); i++) { HashMap rs = (HashMap) list.get(i); label = new Label(0, (i + 1), (String) rs.get("name")); sheet.addCell(label); label = new Label(1, (i + 1), (String) rs.get("age")); sheet.addCell(label); } workbook.write(); workbook.close(); } catch (Exception e) { e.printStackTrace(); } } } | cs |
result)
셀에 내용을 기록할때에는 new Label()을 사용하면 되는데, 아래와 같이 순서만 잘 기억하면 된다.
new Label(열 순서, 행 순서, "작성 문자열");
참고로 열/행 순서는 0부터 시작한다.
- 참고 및 출처 : http://fruitdev.tistory.com/20
댓글