package com.primeton.eos.arp.arch;
import java.io.*;
import jxl.*;
import jxl.write.*;
import jxl.write.biff.RowsExceededException;
import jxl.format.*;
/**
* @author 胡晶
* @version 1.0
* @date 2009-6-5
* @class_displayName ExportExcelComm
*/
public class ExportExcelComm
{
/**导出数据为XLS格式
* @param fos
*/
public void writeExcelBo(FileOutputStream fos)
{
jxl.write.WritableWorkbook wwb;
try
{
wwb= Workbook.createWorkbook(fos);
jxl.write.WritableSheet ws= wwb.createSheet("booksheet", 10);
ws.addCell(new jxl.write.Label(0, 1, "书目ID"));
ws.addCell(new jxl.write.Label(1, 1, "ISBN"));
ws.addCell(new jxl.write.Label(2, 1, "定价"));
ws.addCell(new jxl.write.Label(3, 1, "书名"));
for (int i= 0; i < 5; i++)
{
ws.addCell(new jxl.write.Label(0, i + 2, ""+i));
ws.addCell(new jxl.write.Label(1, i + 2, ""+i));
ws.addCell(new jxl.write.Label(2, i + 2, ""+i));
ws.addCell(new jxl.write.Label(3, i + 2, ""+i));
}
jxl.write.WritableFont wfc= new jxl.write.WritableFont(WritableFont.ARIAL,255,WritableFont.BOLD,false,
UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.BLACK);
jxl.write.WritableCellFormat wcfFC= new jxl.write.WritableCellFormat(wfc);
ws.addCell(new jxl.write.Label(0, 0, "This is a Label Cell"));
// 添加带有字型Formatting的对象
jxl.write.WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES, 18,
WritableFont.BOLD, true);
jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat(wf);
jxl.write.Label labelCF = new jxl.write.Label(0, 8, "This is a Label Cell", wcfF);
ws.addCell(labelCF);
// 添加带有字体颜色Formatting的对象
jxl.write.WritableFont wfc1 = new jxl.write.WritableFont(WritableFont.ARIAL, 10,
WritableFont.NO_BOLD, false,
UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.RED);
jxl.write.WritableCellFormat wcfFC1 = new jxl.write.WritableCellFormat(wfc1);
jxl.write.Label labelCFC = new jxl.write.Label(0, 9, "This is a Label Cell", wcfFC1);
ws.addCell(labelCFC);
// 添加Number对象
jxl.write.Number labelN = new jxl.write.Number(0, 10, 3.1415926);
ws.addCell(labelN);
// 添加带有formatting的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(0, 11, 3.1415926, wcfN);
ws.addCell(labelNF);
// 添加Boolean对象
jxl.write.Boolean labelB = new jxl.write.Boolean(0, 12, false);
ws.addCell(labelB);
// 4.添加DateTime对象
jxl.write.DateTime labelDT = new jxl.write.DateTime(0, 13, new java.util.Date());
ws.addCell(labelDT);
// 添加带有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(0, 14, new java.util.Date(),
wcfDF);
ws.addCell(labelDTF);
wwb.write();
// 关闭Excel工作薄对象
wwb.close();
}catch (IOException e)
{
} catch (RowsExceededException e)
{
} catch (WriteException e)
{
}
}
public static void main(String arg[]){
File f=new File("D:/test.xls");
ExportExcelComm eec=new ExportExcelComm();
try {
FileOutputStream os=new FileOutputStream(f);
eec.writeExcelBo(os);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}