<script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; /* 728x90, 大横幅正文上方 */ google_ad_slot = "4725362798"; google_ad_width = 728; google_ad_height = 90; // --></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
<!--Google 728*90横幅广告结束-->
1
package
jxlTest;
2
3
import
java.io.FileOutputStream;
4
import
java.io.OutputStream;
5
import
java.text.SimpleDateFormat;
6
import
java.util.ArrayList;
7
import
java.util.Date;
8
import
java.util.List;
9
10
import
jxl.
*
;
11
import
jxl.format.Alignment;
12
import
jxl.format.Border;
13
import
jxl.format.BorderLineStyle;
14
import
jxl.format.CellFormat;
15
import
jxl.write.Boolean;
16
import
jxl.write.Label;
17
import
jxl.write.Number;
18
import
jxl.write.WritableCellFormat;
19
import
jxl.write.WritableFont;
20
import
jxl.write.WritableSheet;
21
import
jxl.write.WritableWorkbook;
22
23
public
class
JXLExample{
24
25
/**
26
*数据库导出至Excel表格
27
*/
28
public
static
void
main(String[]args){
29
//
准备设置excel工作表的标题
30
String[]title
=
{
"
编号
"
,
"
产品名称
"
,
"
产品价格
"
,
"
产品数量
"
,
"
生产日期
"
,
"
产地
"
,
"
是否出口
"
};
31
try
{
32
//
获得开始时间
33
long
start
=
System.currentTimeMillis();
34
//
输出的excel的路径
35
StringfilePath
=
"
e://testJXL.xls
"
;
36
//
创建Excel工作薄
37
WritableWorkbookwwb;
38
//
新建立一个jxl文件,即在e盘下生成testJXL.xls
39
OutputStreamos
=
new
FileOutputStream(filePath);
40
wwb
=
Workbook.createWorkbook(os);
41
//
添加第一个工作表并设置第一个Sheet的名字
42
WritableSheetsheet
=
wwb.createSheet(
"
产品清单
"
,
0
);
43
Labellabel;
44
for
(
int
i
=
0
;i
<
title.length;i
++
){
45
//
Label(x,y,z)代表单元格的第x+1列,第y+1行,内容z
46
//
在Label对象的子对象中指明单元格的位置和内容
47
label
=
new
Label(i,
0
,title[i]);
48
//
将定义好的单元格添加到工作表中
49
sheet.addCell(label);
50
}
51
//
下面是填充数据
52
/*
53
*保存数字到单元格,需要使用jxl.write.Number
54
*必须使用其完整路径,否则会出现错误
55
*
*/
56
//
填充产品编号
57
jxl.write.Numbernumber
=
new
jxl.write.Number(
0
,
1
,
20071001
);
58
sheet.addCell(number);
59
//
填充产品名称
60
label
=
new
Label(
1
,
1
,
"
金鸽瓜子
"
);
61
sheet.addCell(label);
62
/*
63
*定义对于显示金额的公共格式
64
*jxl会自动实现四舍五入
65
*例如2.456会被格式化为2.46,2.454会被格式化为2.45
66
*
*/
67
jxl.write.NumberFormatnf
=
new
jxl.write.NumberFormat(
"
#.##
"
);
68
jxl.write.WritableCellFormatwcf
=
new
jxl.write.WritableCellFormat(nf);
69
//
填充产品价格
70
jxl.write.Numbernb
=
new
jxl.write.Number(
2
,
1
,
2.45
,wcf);
71
sheet.addCell(nb);
72
//
填充产品数量
73
jxl.write.Numbernumb
=
new
jxl.write.Number(
3
,
1
,
200
);
74
sheet.addCell(numb);
75
/*
76
*定义显示日期的公共格式
77
*如:yyyy-MM-ddhh:mm
78
*
*/
79
SimpleDateFormatsdf
=
new
SimpleDateFormat(
"
yyyy-MM-dd
"
);
80
Stringnewdate
=
sdf.format(
new
Date());
81
//
填充出产日期
82
label
=
new
Label(
4
,
1
,newdate);
83
sheet.addCell(label);
84
//
填充产地
85
label
=
new
Label(
5
,
1
,
"
陕西西安
"
);
86
sheet.addCell(label);
87
/*
88
*显示布尔值
89
*
*/
90
jxl.write.Booleanbool
=
new
jxl.write.Boolean(
6
,
1
,
true
);
91
sheet.addCell(bool);
92
/*
93
*合并单元格
94
*通过writablesheet.mergeCells(intx,inty,intm,intn);来实现的
95
*表示将从第x+1列,y+1行到m+1列,n+1行合并
96
*
97
*
*/
98
sheet.mergeCells(
0
,
3
,
2
,
3
);
99
label
=
new
Label(
0
,
3
,
"
合并了三个单元格
"
);
100
sheet.addCell(label);
101
/*
102
*
103
*定义公共字体格式
104
*通过获取一个字体的样式来作为模板
105
*首先通过web.getSheet(0)获得第一个sheet
106
*然后取得第一个sheet的第二列,第一行也就是"产品名称"的字体
107
*
*/
108
CellFormatcf
=
wwb.getSheet(
0
).getCell(
1
,
0
).getCellFormat();
109
WritableCellFormatwc
=
new
WritableCellFormat();
110
//
设置居中
111
wc.setAlignment(Alignment.CENTRE);
112
//
设置边框线
113
wc.setBorder(Border.ALL,BorderLineStyle.THIN);
114
//
设置单元格的背景颜色
115
wc.setBackground(jxl.format.Colour.RED);
116
label
=
new
Label(
1
,
5
,
"
字体
"
,wc);
117
sheet.addCell(label);
118
119
//
设置字体
120
jxl.write.WritableFontwfont
=
new
jxl.write.WritableFont(WritableFont.createFont(
"
隶书
"
),
20
);
121
WritableCellFormatfont
=
new
WritableCellFormat(wfont);
122
label
=
new
Label(
2
,
6
,
"
隶书
"
,font);
123
sheet.addCell(label);
124
125
//
写入数据
126
wwb.write();
127
//
关闭文件
128
wwb.close();
129
long
end
=
System.currentTimeMillis();
130
System.out.println(
"
----完成该操作共用的时间是:
"
+
(end
-
start)
/
1000
);
131
}
catch
(Exceptione){
132
System.out.println(
"
---出现异常---
"
);
133
e.printStackTrace();
134
}
135
}
136
137
}
<script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; /* 728x90, 大横幅正文下方 */ google_ad_slot = "4725362798"; google_ad_width = 728; google_ad_height = 90; // --></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
<!--Google 728*90横幅广告结束-->
<script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; /* 468x15 横链接单元 */ google_ad_slot = "5785741422"; google_ad_width = 468; google_ad_height = 15; // --></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
<!--新Google 468x15 横链接单元结束-->