要往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^)/