导出excel(二)

       导出excel有两种方式,第一种已经说过了,现在分享一下第二种,直接用输出流导出excel

       用jsp页面做的,点击导出按钮跳到导出页面,导出页面代码:

       <%@page import="org.smile.database.classload.DBClass"%>
       <%@ page language="java"  import="java.util.*,java.net.*,
                   java.io.*,org.smile.util.*,com.rockmobile.ivr.dao.*,
                   jxl.write.*,jxl.Workbook,jxl.format.Alignment"
                  pageEncoding="gb2312"%>
<%
      String phone = "";
      String startime = "";
      String endtime = "";
  
      if(!request.getParameter("nr").equals("")){
         phone = request.getParameter("nr");
      }
    
     if(!request.getParameter("startime").equals("")){
         startime = request.getParameter("startime");
     }
  
    if(!request.getParameter("endtime").equals("")){
        endtime = request.getParameter("endtime");
    }
  
   response.reset();//这句可有可无
   response.setContentType("application/x-download");
   //文件名
   String filedisplay = "用户订购.xls";
   filedisplay = URLEncoder.encode(filedisplay,"UTF-8"); 
   response.addHeader("Content-Disposition","attachment;filename=" + filedisplay);
  
   //标题
   String title = "手机号,订购时间";
   String str[] = title.split(",");
  
   //查询要导出的数据
   OrderDao orderDao = new OrderDao();
   List<DBClass> userlist = orderDao.exprt(phone,startime,endtime);
  
   //获取输出流
   OutputStream outp = response.getOutputStream();
   //创建一个文件
   WritableWorkbook workbook = Workbook.createWorkbook(outp);
  
   // 创建一个工作表
   WritableSheet sheet = workbook.createSheet("first sheet", 0);
   //设置列宽
   sheet.setColumnView(0, 15);
   sheet.setColumnView(1, 25);
   // 单元格对齐定义
   WritableCellFormat wcf_title = new WritableCellFormat();
   wcf_title.setAlignment(Alignment.CENTRE);
  
   //添加标题
   for(int i=0;i<str.length;i++){
       Label id = new Label(i,0,str[i],wcf_title);
       sheet.addCell(id);
   }
  
   //添加内容
   for(int j=0;j<userlist.size();j++){
       sheet.addCell(new Label(0,j+1,userlist.get(j).get("dcusermobile").toString(),wcf_title));
       sheet.addCell(new Label(1,j+1,userlist.get(j).get("ddregtime").toString(),wcf_title));
   }
  
   // 将文件写入
   workbook.write();
   // 关闭工作薄
   workbook.close();
   outp.close();
   //加这两句是为了不抛异常
   out.clear();
   out = pageContext.pushBody();
%>

上面的根据自己项目的实际修改一下就行了,这样就可以直接在客户端弹出打开、保存提示进行操作了。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值