dengli19881102 发表于 2013-1-23 01:29:54

spring MVC 导出excel

// 导出excel方法    @RequestMapping("exportExcel")    public void exportExcel(HttpServletRequest request, HttpServletResponse response)    {      HttpSession session = request.getSession();      session.setAttribute("state", null);      // 生成提示信息,      response.setContentType("application/vnd.ms-excel");      String codedFileName = null;      OutputStream fOut = null;      try      {            // 进行转码,使其支持中文文件名            codedFileName = java.net.URLEncoder.encode("中文", "UTF-8");            response.setHeader("content-disposition", "attachment;filename=" + codedFileName + ".xls");            // response.addHeader("Content-Disposition", "attachment;   filename=" + codedFileName + ".xls");            // 产生工作簿对象            HSSFWorkbook workbook = new HSSFWorkbook();            //产生工作表对象            HSSFSheet sheet = workbook.createSheet();            for (int i = 0; i <= 30000; i++)            {                HSSFRow row = sheet.createRow((int)i);//创建一行                HSSFCell cell = row.createCell((int)0);//创建一列                cell.setCellType(HSSFCell.CELL_TYPE_STRING);                cell.setCellValue("测试成功" + i);            }            fOut = response.getOutputStream();            workbook.write(fOut);      }      catch (UnsupportedEncodingException e1)      {}      catch (Exception e)      {}      finally      {            try            {                fOut.flush();                fOut.close();            }            catch (IOException e)            {}            session.setAttribute("state", "open");      }      System.out.println("文件生成...");    }    @RequestMapping("check")    public void check(HttpServletRequest request, HttpServletResponse response)    {      try      {            if ("open".equals(request.getSession().getAttribute("state")))            {                request.getSession().setAttribute("state", null);                response.getWriter().write("true");                response.getWriter().flush();            }            else            {                response.getWriter().write("false");                response.getWriter().flush();            }      }      catch (IOException e)      {}    }
/***********导出start************/var excel_flag = 0;var win_check;    var exportExcelBtn = new Ext.Button({      renderTo:'exportExcelBtn',      text:"<span class='marL10'>"+'导出'+"</span>",      height:24,      iconCls:'findnew',      width:110,      bodyStyle:'padding:5px',      handler: function()      {            excel_flag = 0;            //禁用按钮      exportExcelBtn.disable();      location.href = "exportExcel";      //每隔一秒向后台发送请求      win_check = window.setInterval(check, 1000);          }    });      /**   * 用于防止重复提交   */    function check()    {    excel_flag ++;    if(excel_flag > 30)    {    //清空定时器    window.clearInterval(win_check);    //启用按钮    exportExcelBtn.enable();    }    Ext.Ajax.request(      {            url : 'check',            success : function (response, result)            {            if(response.responseText=="true")            {            //清空定时器            window.clearInterval(win_check);            //启用按钮            exportExcelBtn.enable();            }            }      })    }    /***********导出end*****************/
页: [1]
查看完整版本: spring MVC 导出excel