import jxl.*;
import jxl.write.*;
import jxl.format.*;
import java.io.*;
import java.io.File.*;
import java.util.*;
public class excel {
publicstatic void main(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=new FileOutputStream(targetfile);
workbook=Workbook.createWorkbook(os);
WritableSheet sheet = workbook.createSheet(worksheet, 0);//添加第一个工作表
//WritableSheet sheet1 = workbook.createSheet("MySheet1", 1);//可添加第二个工作
jxl.write.Label label;
for (int i=0; i<title.length; i++)
{
//Label(列号,行号 ,内容 )
label = new jxl.write.Label(i, 0, title[i]); //put the title inrow1
sheet.addCell(label);
}
//下列添加的对字体等的设置均调试通过,可作参考用
//添加数字
Numbernumber = new jxl.write.Number(3, 4, 3.14159); //put the number3.14159 in cell D5
sheet.addCell(number);
//添加带有字型Formatting的对象
WritableFontwf = newWritableFont(WritableFont.TIMES,10,WritableFont.BOLD,true);
WritableCellFormat wcfF = new WritableCellFormat(wf);
LabellabelCF = new Label(4,4,"文本",wcfF);
sheet.addCell(labelCF);
//添加带有字体颜色,带背景颜色 Formatting的对象
WritableFontwfc = new WritableFont
(WritableFont.ARIAL,10,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE,Colour.RED);
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
wcfFC.setBackground(Colour.BLUE);
LabellabelCFC = new Label(1,5,"带颜色",wcfFC);
sheet.addCell(labelCFC);
//添加带有formatting的Number对象
NumberFormatnf = new NumberFormat("#.##");
WritableCellFormat wcfN = new WritableCellFormat(nf);
NumberlabelNF = new Number(1,1,3.1415926,wcfN);
sheet.addCell(labelNF);
//3.添加Boolean对象
jxl.write.BooleanlabelB = new jxl.write.Boolean(0,2,false);
sheet.addCell(labelB);
//4.添加DateTime对象
DateTimelabelDT = new DateTime(0,3,new java.util.Date());
sheet.addCell(labelDT);
//添加带有formatting的DateFormat对象
DateFormatdf = new jxl.write.DateFormat("ddMMyyyyhh:mm:ss");
WritableCellFormat wcfDF = newjxl.write.WritableCellFormat(df);
DateTimelabelDTF = new jxl.write.DateTime(1,3,newjava.util.Date(),wcfDF);
sheet.addCell(labelDTF);
//和宾单元格
//sheet.mergeCells(int col1,int row1,int col2,introw2);//左上角到右下角
sheet.mergeCells(4,5,8,10);//左上角到右下角
wfc = newjxl.write.WritableFont(WritableFont.ARIAL,40,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE,Colour.GREEN);
jxl.write.WritableCellFormat wchB = newjxl.write.WritableCellFormat(wfc);
wchB.setAlignment(jxl.format.Alignment.CENTRE);
labelCFC =new jxl.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 =new jxl.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;
//Stringcmd[]={"notepad","exec.java"};
String cmd[]={"C:\\ProgramFiles\\Microsoft Office\\Office\\EXCEL.EXE","out.xls"};
try{
p = r.exec(cmd);
} catch(Exception e){
System.out.println("error executing: "+cmd[0]);
}
}
下面是几个jxl的说明网址:
http://blog.csdn.net/Sammy_chan/archive/2007/08/22/1753948.aspx