java jxl excel导出_Java导出Excel表格(jxl)

一、获取输出流创建excel文件

OutputStream os = response.getOutputStream();// 取得输出流

response.reset();// 清空输出流

WritableWorkbook wbook = Workbook.createWorkbook(os); // 建立excel文件

二、设置文件名称、定义输出类型

response.setHeader("Content-disposition", "attachment; filename="+new String(xlsName.getBytes("gbk"), "iso8859-1")+".xls");// 设定输出文件头

response.setContentType("application/msexcel");// 定义输出类型

WritableSheet wsheet = wbook.createSheet("汇总表", 0); // sheet名称

三、设置单元格的默认宽度

wsheet.getSettings().setDefaultColumnWidth(15);

四、获取内容数据

HashMapdatamap=(HashMap) resultMap.get("data");//除表格第一行(列头)和第一列(行头)外的数据

List> lj = (List>)resultMap.get("lj");//每一行的头

List> pl = (List>)resultMap.get("pl");//每一列的头

String rqString = (String) resultMap.get("rq");

String dw = (String) resultMap.get("dw");

五、设置excel(内容)标题

//设置标题的字体样式和颜色

WritableFont wfont = new WritableFont(WritableFont.ARIAL, 16,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE,Colour.BLACK);

WritableCellFormat wcfFC = new WritableCellFormat(wfont);

//设置标题的位置(居中)

wcfFC.setAlignment(Alignment.CENTRE);

//从(0,0)开始合并pl长度个单元格

wsheet.mergeCells(0, 0, pl.size(), 0);

//把标题按定义的样式加入表格

wsheet.addCell(new Label(0, 0, tmptitle, wcfFC));

//1.生成固定标识

WritableCellFormat wcfFC3 = new WritableCellFormat();

wcfFC3.setBorder(Border.ALL, BorderLineStyle.THIN);//设置单元格边框All全边框,THIN实线

wsheet.addCell(new Label(0, 2, "XX\\品类",wcfFC3));

//循环表头

for(int i=0;i < pl.size();i++){

wsheet.addCell(new Label(i+1, 2, pl.get(i).get("JC").toString(),wcfFC3));

}

//2.生成左侧除第一行外的第一列

for (int i = 0; i < lj.size(); i++) {

wsheet.addCell(new Label(0, i+3, lj.get(i).get("JC").toString(),wcfFC3));

}

for (int i = 0; i < pl.size(); i++) {

for (int j = 0; j < lj.size(); j++) {

String pldm = (String) pl.get(i).get("DM");

String ljdm = (String) lj.get(j).get("DM");

String key = ljdm+pldm+"CS";

wsheet.addCell(new Label(i+1, j+3, datamap.get(key)== null?"0":datamap.get(key).toString(),wcfFC3));

}

}

wsheet.mergeCells(0, lj.size()+3, pl.size(), lj.size()+3);

wsheet.addCell(new Label(0, lj.size()+3, dw));

// 主体内容生成结束

wbook.write(); // 写入文件

wbook.close();

os.close(); // 关闭流

=====================================================================

方法详情查看文档

=====================================================================

其他相关文章可参考:

http://zhouhaitao.iteye.com/blog/1842769

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值