본문

Excel File 만들기(JAVA)

반응형

# Excel File 만들기

JXL 라이브러리를 이용하면 손쉽게 생성 가능하다.


sample에서는 테스트 데이터를 생성하여 사용하고 있지만, 

DB에 저장된 데이터를 가져오도록 응용한다면 excel file export 로직을 구현할 수 있다.


# JXL Homepagehttp://jexcelapi.sourceforge.net


# JXL JARjxl.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(00"name");
            sheet.addCell(label);
 
            label = new Label(10"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

반응형

공유

댓글