strut1中jxl导出excel

1.模板文件为moban.xls

2.利用jxl包

3.这里描述的是,导出企业列表和,导出三张危险表到对应一个sheet中

public ActionForward check_excel(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException { // 定义文件的上传路径 String realpath = request.getSession().getServletContext().getRealPath("/upload/"); Workbook wb = null; WritableWorkbook wwb = null; WritableSheet wws = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); WritableFont font= new WritableFont(WritableFont.createFont("宋体"),12); WritableCellFormat cellFormat = new WritableCellFormat(font); OutputStream os = response.getOutputStream(); //取得输出流 response.reset(); //清空输出流 response.setContentType ( "application/ms-excel" ); response.setHeader ( "Content-Disposition","attachment;filename="+new String("企业和危险源列表.xls".getBytes(),"iso-8859-1")); try{ cellFormat.setAlignment(Alignment.CENTRE); wb = Workbook.getWorkbook(new File(realpath + "/moban.xls")); // File targetFile = new File(realpath + "/excel/" + "qyAndWxyList.xls"); wwb = Workbook.createWorkbook(os, wb); List<BtDwjbqk> qyList=excelControl.getQyxxList(); for (int i = 0; i < qyList.size();i++) { for(int j=0;j<wwb.getSheet(0).getColumns();j++){ BtDwjbqk jcxx = qyList.get(i); wws = wwb.getSheet(0); // 企业编码 if (jcxx.getDwId() != null) { jxl.write.Number qybm = new jxl.write.Number(0, i+1, jcxx.getDwId(),cellFormat); wws.addCell(qybm); } // 企业名称 Label qymc = new Label(1, i+1, jcxx.getDwMc(),cellFormat); wws.addCell(qymc); // 企业地址 Label qydz = new Label(2, i+1, jcxx.getDwTxdz(),cellFormat); wws.addCell(qydz); // 法定代表人 Label fzr = new Label(3, i+1, jcxx.getDwFrdb(),cellFormat); wws.addCell(fzr); // 邮政编码 Label yzbm = new Label(5, i+1, jcxx.getDwYzbm(),cellFormat); wws.addCell(yzbm); // 单位传真 Label dwcz = new Label(6, i+1, jcxx.getDwCz(),cellFormat); wws.addCell(dwcz); // 安全负责人 Label aqfzr = new Label(7, i+1, jcxx.getDwAqfzr(),cellFormat); wws.addCell(aqfzr); // 安全负责人联系电话 Label aqfzrlxdh = new Label(8, i+1, jcxx.getDwAqfzrdh(),cellFormat); wws.addCell(aqfzrlxdh); // 行政区划 Label xzqh = new Label(9, i+1, jcxx.getDwSzdajjg(),cellFormat); wws.addCell(xzqh); // 年销售收入 if (jcxx.getDwNzcz() != null) { jxl.write.Number nxssr = new jxl.write.Number(12, i+1, jcxx.getDwNzcz(),cellFormat); wws.addCell(nxssr); } // 年利润 if (jcxx.getDwNlr() != null) { jxl.write.Number nlr = new jxl.write.Number(13, i+1, jcxx.getDwNlr(),cellFormat); wws.addCell(nlr); } // 占地面积 if (jcxx.getDwZdmj() != null) { jxl.write.Number zdmj = new jxl.write.Number(14, i+1, jcxx.getDwZdmj(),cellFormat); wws.addCell(zdmj); } // 职工人数 if (jcxx.getDwZgrs() != null) { jxl.write.Number zgrs = new jxl.write.Number(15, i+1, jcxx.getDwZgrs(),cellFormat); wws.addCell(zgrs); } // 企业成立时间 if (jcxx.getDwClsj() != null) { wws.addCell(new Label(16,i+1,sdf.format(jcxx.getDwClsj()),cellFormat)); } // 所属行业 if(jcxx.getDwbbzl()!=null && jcxx.getDwbbzl().equals("1")){ wws.addCell(new Label(23,i+1,"危险化学品",cellFormat)); }else if(jcxx.getDwbbzl()!=null && (jcxx.getDwbbzl().equals("3")||jcxx.getDwbbzl().equals("4"))){ wws.addCell(new Label(23,i+1,"非煤矿山",cellFormat)); }else if(jcxx.getDwbbzl()!=null && jcxx.getDwbbzl().equals("2")){ wws.addCell(new Label(23,i+1,"煤矿",cellFormat)); }else{wws.addCell(new Label(23,i+1,"其它",cellFormat));} // 隶属关系 if(jcxx.getDwLsgx()!=null && jcxx.getDwLsgx().equals("1")){ wws.addCell(new Label(24,i+1,"中央",cellFormat)); }else if(jcxx.getDwLsgx()!=null && jcxx.getDwLsgx().equals("2")){ wws.addCell(new Label(24,i+1,"省属",cellFormat)); }else if(jcxx.getDwLsgx()!=null && jcxx.getDwLsgx().equals("3")){ wws.addCell(new Label(24,i+1,"市属",cellFormat)); }else if(jcxx.getDwLsgx()!=null && jcxx.getDwLsgx().equals("4")){ wws.addCell(new Label(24,i+1,"县属",cellFormat)); }else{ wws.addCell(new Label(24,i+1,"其它",cellFormat)); } // 经济类型 if(jcxx.getDwZcdjlx()!=null && jcxx.getDwZcdjlx().equals("1")){ wws.addCell(new Label(25,i+1,"国有",cellFormat)); }else if(jcxx.getDwZcdjlx()!=null && jcxx.getDwZcdjlx().equals("2")){ wws.addCell(new Label(25,i+1,"集体",cellFormat)); }else if(jcxx.getDwZcdjlx()!=null && (jcxx.getDwZcdjlx().equals("10") || jcxx.getDwZcdjlx().equals("6"))){ wws.addCell(new Label(25,i+1,"股份合作",cellFormat)); }else if(jcxx.getDwZcdjlx()!=null && jcxx.getDwZcdjlx().equals("5")){ wws.addCell(new Label(25,i+1,"联营",cellFormat)); }else if(jcxx.getDwZcdjlx()!=null && jcxx.getDwZcdjlx().equals("3")){ wws.addCell(new Label(25,i+1,"私营",cellFormat)); }else if(jcxx.getDwZcdjlx()!=null && (jcxx.getDwZcdjlx().equals("8") || jcxx.getDwZcdjlx().equals("7"))){ wws.addCell(new Label(25,i+1,"外商投资",cellFormat)); }else {wws.addCell(new Label(25,i+1,"其它",cellFormat));} } } // 列表--重大危险源(危险化学品) List<BtWxhxpqk> hxpList = excelControl.getHxpList(); wws = wwb.getSheet(1); for (int i1 = 0;i1<hxpList.size();i1++) { for(int j1=0;j1<wwb.getSheet(1).getColumns();j1++){ BtWxhxpqk whp = hxpList.get(i1); // 企业编号 if (whp.getDwId() != null) { jxl.write.Number qybh = new jxl.write.Number(0, i1+1, whp.getDwId(),cellFormat); wws.addCell(qybh); BtDwjbqk entity=excelControl.getQyById(whp.getDwId()); Label qymc1=new Label(1,i1+1,(entity!=null?entity.getDwMc():""),cellFormat); wws.addCell(qymc1); } // 等级规模 Label djgm = new Label(4, i1+1, whp.getWhpSbdj(),cellFormat); wws.addCell(djgm); // 所处位置物理性质 Label wlxz = new Label(5, i1+1, whp.getWhpXxdz(),cellFormat); wws.addCell(wlxz); } } //尾矿库 List<BtWkk> wkkList=excelControl.getWkkList(); int length=wws.getRows(); for (int i2=0;i2<wkkList.size();i2++) { for(int j2=0;j2<wwb.getSheet(1).getColumns();j2++){ BtWkk wkk = wkkList.get(i2); // 企业编号 if (wkk.getDwId() != null) { jxl.write.Number qybh = new jxl.write.Number(0, i2+length, wkk.getDwId(),cellFormat); wws.addCell(qybh); BtDwjbqk entity=excelControl.getQyById(wkk.getDwId()); Label qymc1=new Label(1,i2+length,entity.getDwMc(),cellFormat); wws.addCell(qymc1); } // 危险源名称 Label wxymc = new Label(2, i2+length, wkk.getWkkMc(),cellFormat); wws.addCell(wxymc); // 等级规模 Label djgm = new Label(4, i2+length, wkk.getWkkSbdj(),cellFormat); wws.addCell(djgm); // 所处位置物理性质 Label wlxz = new Label(5, i2+length, wkk.getWkkXxdz(),cellFormat); wws.addCell(wlxz); } } //金属非金属地下矿 List<BtJsfjsdxk> fjsList=excelControl.getFjsList(); int length1=wws.getRows(); for (int i3=0;i3<fjsList.size();i3++) { for(int j3=0;j3<wwb.getSheet(1).getColumns();j3++){ BtJsfjsdxk fjs = fjsList.get(i3); // 企业编号 if (fjs.getDwId() != null) { jxl.write.Number qybh = new jxl.write.Number(0, i3+length1, fjs.getDwId(),cellFormat); wws.addCell(qybh); BtDwjbqk entity=excelControl.getQyById(fjs.getDwId()); Label qymc1=new Label(1,i3+length1,entity.getDwMc(),cellFormat); wws.addCell(qymc1); } // 危险源名称 Label wxymc = new Label(2, i3+length1, fjs.getDxkMc(),cellFormat); wws.addCell(wxymc); // 等级规模 Label djgm = new Label(4, i3+length1, fjs.getDxkSbdj(),cellFormat); wws.addCell(djgm); // 所处位置物理性质 Label wlxz = new Label(5, i3+length1, fjs.getDxkXxdz(),cellFormat); wws.addCell(wlxz); } } //煤矿 List<BtJgkcmk> mkList=excelControl.getMcList(); int length2=wws.getRows(); for (int i4=0;i4<mkList.size();i4++) { for(int j4=0;j4<wwb.getSheet(1).getColumns();j4++){ BtJgkcmk mk = mkList.get(i4); // 企业编号 if (mk.getDwId() != null) { jxl.write.Number qybh = new jxl.write.Number(0, i4+length2, mk.getDwId(),cellFormat); wws.addCell(qybh); BtDwjbqk entity=excelControl.getQyById(mk.getDwId()); Label qymc1=new Label(1,i4+length2,entity.getDwMc(),cellFormat); wws.addCell(qymc1); } // 危险源名称 Label wxymc = new Label(2, i4+length2, mk.getKjMc(),cellFormat); wws.addCell(wxymc); // 等级规模 Label djgm = new Label(4, i4+length2, mk.getKjSbdj(),cellFormat); wws.addCell(djgm); // 所处位置物理性质 Label wlxz = new Label(5, i4+length2, mk.getKjXxdz(),cellFormat); wws.addCell(wlxz); } } wwb.write(); wwb.close(); wb.close(); os.close(); }catch (Exception e) { e.printStackTrace(); } return null; }

以此记录下...

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值