java中jxl导出数据到excel的例子

要往xls文件里面写入数据的时候需要注意的是第一要新建一个xls文件

outputstream os=new fileoutputstream("c:\\excel2.xls" );

再建完这个文件的时候再建立工作文件

jxl.write.writableworkbook wwb = workbook.createworkbook(new file(os));

如果这个文件已经存在,那么我们可以在这个文件里面加入一个sheet为了和以前的数据进行分开;

jxl.write.writablesheet ws = wwb.createsheet("test sheet 1" , 0);

在createsheet方法里前面的参数是sheet名,后面是要操作的sheet号

接下来就可以往这个文件里面写入数据了

写入数据的时候注意的格式

(1)添加的字体样式

jxl.write.writablefont wf = new jxl.write.writablefont(writablefont.times, 18, writablefont.bold, true);

writablefont()方法里参数说明:

这个方法算是一个容器,可以放进去好多属性

第一个: times是字体大小,他写的是18

第二个: bold是判断是否为斜体,选择true时为斜体

第三个: arial

第四个: underlinestyle.no_underline 下划线

第五个: jxl.format.colour.red 字体颜色是红色的

jxl.write.writablecellformat wcff = new jxl.write.writablecellformat(wf);

jxl.write.label labelc = new jxl.write.label(0, 0, "this is a label cell" ,wcff);

ws.addcell(labelc);

在label()方法里面有三个参数

第一个是代表列数,

第二是代表行数,

第三个代表要写入的内容

第四个是可选项,是输入这个label里面的样式

然后通过写sheet的方法addcell()把内容写进sheet里面。

(2)添加带有formatting的number对象

jxl.write.numberformat nf = new jxl.write.numberformat("#.##" );

(3)添加number对象

(3.1)显示number对象数据的格式

jxl.write.numberformat nf = new jxl.write.numberformat("#.##" );

jxl.write.writablecellformat wcfn = new jxl.write.writablecellformat(nf);

jxl.write.number labelnf = new jxl.write.number(1, 1, 3.1415926, wcfn);

ws.addcell(labelnf);

number()方法参数说明:

前两上表示输入的位置

第三个表示输入的内容

(4)添加boolean对象

jxl.write.boolean labelb = new jxl.write.boolean(0, 2, false);

ws.addcell(labelb);

(5)添加datetime对象

jxl.write.datetime labeldt = new jxl.write.datetime(0, 3, new java.util.date());

ws.addcell(labeldt);

datetime()方法的参数说明

前两个表示输入的位置

第三个表示输入的当前时间

(6)添加带有formatting的dateformat对象

这个显示当前时间的所有信息,包括年月日小时分秒

jxl.write.dateformat df = new jxl.write.dateformat("dd mm yyyy hh:mm:ss" );

jxl.write.writablecellformat wcfdf = new jxl.write.writablecellformat(df);

jxl.write.datetime labeldtf = new jxl.write.datetime(1, 3, new java.util.date(), wcfdf);

ws.addcell(labeldtf);

(7)添加带有字体颜色formatting的对象

jxl.write.writablefont wfc = new jxl.write.writablefont(writablefont.arial, 10, writablefont.no_bold, false,underlinestyle.no_underline, jxl.format.colour.red);

jxl.write.writablecellformat wcffc = new jxl.write.writablecellformat(wfc);

import="jxl.format.*

jxl.write.writablefont wfc = new jxl.write.writablefont(writablefont.arial,20,writablefont.bold,false,underlinestyle.no_underline,jxl.format.colour.green);

(8)设置单元格样式

jxl.write.writablecellformat wcffc = new jxl.write.writablecellformat(wfc);

wcffc.setbackground(jxl.format.colour.red);//设置单元格的颜色为红色

wcffc = new jxl.write.label(6,0,"i love china" ,wcffc);

设置列宽: cw_sheet.setcolumnview(0, 100);//第一个参数为第几列,第二个参数为列宽

设置行高: cw_sheet.setrowview(0, 1000);//第一个参数为第几行,第二个参数为行高

以下是部分例子:

importjxl.*;importjxl.write.*;importjava.io.*;importjava.io.file.*;importjava.util.*;publicclassexcel{publicstaticvoidmain(string[] args){string targetfile = "c:/out.xls " ; //输出的excel文件名string worksheet = "list" ; //输出的excel文件工作表名string[] title = {"id" , "name" , "describ" }; //excel工作表的标题writableworkbook workbook;try{//创建可写入的excel工作薄,运行生成的文件在tomcat/bin下//workbook = workbook.createworkbook(new file("output.xls"));system.out.println("begin" );outputstream os=newfileoutputstream(targetfile);workbook=workbook.createworkbook(os);writablesheet sheet = workbook.createsheet(worksheet, 0 );//添加第一个工作表//writablesheet sheet1 = workbook.createsheet("mysheet1", 1); //可添加第二个工作/*jxl.write.label label = new jxl.write.label(0, 2, "a label record"); //put a label in cell a3, label(column,row)sheet.addcell(label);*/jxl.write.label label;for( inti= 0 ; i{//label(列号,行号 ,内容 )label = newjxl.write.label(i,0 , title[i]);//put the title in row1sheet.addcell(label);}//下列添加的对字体等的设置均调试通过,可作参考用//添加数字jxl.write.number number = newjxl.write.number( 3 ,4 ,3.14159 );//put the number 3.14159 in cell d5sheet.addcell(number);//添加带有字型formatting的对象jxl.write.writablefont wf = newjxl.write.writablefont(writablefont.times, 10 ,writablefont.bold, true );jxl.write.writablecellformat wcff = newjxl.write.writablecellformat(wf);jxl.write.label labelcf = newjxl.write.label( 4 , 4 , "文本" ,wcff);sheet.addcell(labelcf);//添加带有字体颜色,带背景颜色 formatting的对象jxl.write.writablefont wfc = newjxl.write.writablefont(writablefont.arial, 10 ,writablefont.bold, false ,jxl.format.underlinestyle.no_underline,jxl.format.colour.red);jxl.write.writablecellformat wcffc = newjxl.write.writablecellformat(wfc);wcffc.setbackground(jxl.format.colour.blue);jxl.write.label labelcfc = newjxl.write.label( 1 , 5 , "带颜色" ,wcffc);sheet.addcell(labelcfc);//添加带有formatting的number对象jxl.write.numberformat nf = newjxl.write.numberformat( "#.##" );jxl.write.writablecellformat wcfn = newjxl.write.writablecellformat(nf);jxl.write.number labelnf = newjxl.write.number( 1 , 1 , 3.1415926 ,wcfn);sheet.addcell(labelnf);//3.添加boolean对象jxl.write.boolean labelb = newjxl.write.boolean( 0 , 2 , false );sheet.addcell(labelb);//4.添加datetime对象jxl.write.datetime labeldt = newjxl.write.datetime( 0 , 3 , newjava.util.date());sheet.addcell(labeldt);//添加带有formatting的dateformat对象jxl.write.dateformat df = newjxl.write.dateformat( "ddmmyyyyhh:mm:ss" );jxl.write.writablecellformat wcfdf = newjxl.write.writablecellformat(df);jxl.write.datetime labeldtf = newjxl.write.datetime( 1 , 3 , newjava.util.date(),wcfdf);sheet.addcell(labeldtf);//和宾单元格//sheet.mergecells(int col1,int row1,int col2,int row2);//左上角到右下角sheet.mergecells(4 , 5 , 8 , 10 ); //左上角到右下角wfc = newjxl.write.writablefont(writablefont.arial, 40 ,writablefont.bold, false ,jxl.format.underlinestyle.no_underline,jxl.format.colour.green);jxl.write.writablecellformat wchb = newjxl.write.writablecellformat(wfc);wchb.setalignment(jxl.format.alignment.centre);labelcfc = newjxl.write.label( 4 , 5 , "单元合并" ,wchb);sheet.addcell(labelcfc); 设置边框jxl.write.writablecellformat wcsb = newjxl.write.writablecellformat();wcsb.setborder(jxl.format.border.all,jxl.format.borderlinestyle.thick);labelcfc = newjxl.write.label( 0 , 6 , "边框设置" ,wcsb);sheet.addcell(labelcfc);workbook.write();workbook.close();}catch (exception e){e.printstacktrace();}system.out.println("end" );runtime r=runtime.getruntime();process p=null ;//string cmd[]={"notepad","exec.java"};string cmd[]={"c:\\program files\\microsoft office\\office\\excel.exe" , "out.xls" };try {p=r.exec(cmd);}catch (exception e){system.out.println("error executing: " +cmd[ 0 ]);}}

}

绿色通道:好文要顶关注我收藏该文与我联系


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值