使用JXL数据库导出至Excel表格

系统 1759 0
<!-- Feedsky FEED发布代码开始 -->

如果您喜欢这些文章,欢迎点击此处订阅本Blog

<!-- FEED自动发现标记开始 --> <!-- FEED自动发现标记结束 -->

Blog 订阅

<!--Google 728*90横幅广告开始-->

<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 }


<!--Google 728*90横幅广告开始-->

<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横幅广告结束-->


<!--新Google 468x15 横链接单元开始-->

<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 横链接单元结束-->


使用JXL数据库导出至Excel表格


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论