第1个回答 2008-07-08
这个好像不是这么这么来的吧。
我记得程序分两部分,一部分excel的,一部分是写成流的。
找下吧,自己改下,不难,我在家倒是有一份,可是家里不能上网!
package com.cthq.crm.account.common;
import java.io.OutputStream;
import java.util.List;
import jxl.Workbook;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
/**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class ExportExcel {
public String exportExcel(OutputStream os, String sheetName,String title,List list)
throws Exception {
WritableWorkbook wbook = Workbook.createWorkbook(os); // 建立excel文件
//生成名为参数(sheetName)的工作表,参数0表示这是第一页
WritableSheet wsheet = wbook.createSheet(sheetName, 0); // sheet名称
// 设置excel标题
WritableFont wfont = new WritableFont(WritableFont.ARIAL, 12,
WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,
Colour.BLACK);
WritableCellFormat wcfFC = new WritableCellFormat(wfont);
// 设置单元格背景色为浅绿色
wcfFC.setBackground(Colour.AQUA);
// wsheet.addCell(new Label(1, 0, title, wcfFC));
wfont = new jxl.write.WritableFont(WritableFont.ARIAL, 10,
WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE,
Colour.BLACK);
WritableCellFormat wcfFC1 = new WritableCellFormat(wfont);
// 开始生成主体内容
wsheet.addCell(new Label(0, 0, "姓 名", wcfFC));
wsheet.addCell(new Label(1, 0, "性 别", wcfFC));
wsheet.addCell(new Label(2, 0, "生 日", wcfFC));
for (int i = 0; i < list.size(); i++) {
wsheet.addCell(new Label(0, i+1, list.get(i).toString(),wcfFC1));
wsheet.addCell(new Label(1, i+1, list.get(i).toString(),wcfFC1));
wsheet.addCell(new Label(2, i+1, list.get(i).toString(),wcfFC1));
}
// 主体内容生成结束
wbook.write(); // 写入文件
wbook.close();
os.close();
return "success";
}
}
这个是我找的,你把相应的写的部分改下,在action中调用就行了!