首页 > 代码库 > ExcelUtils 导表实例

ExcelUtils 导表实例

@RequestMapping("/dealer/chargebook/exportv.htm")
    public void getChargeBookList(int epmkey,String bdakey,int year,int month,HttpServletRequest request, HttpServletResponse response) {
        List<ChargeBook> list = chargeBookService.getEpmChargeBookList(epmkey,year,month,bdakey);
            String filename = year+"年"+month+"月份"+list.get(0).getCbkBdaCaption()+"物业缴费统计.xls";
            filename = encodeFilename(filename, request);//设置下载时客户端Excel的名称
            response.setHeader("Content-disposition", "attachment;filename="+filename);
            response.setContentType("application/vnd.ms-excel");
            String config = "/WEB-INF/chargebook/balance.xls";
            ExcelUtils.addValue("month", month);
            ExcelUtils.addValue("year", year);
            ExcelUtils.addValue("bdaCaption", list.get(0).getCbkBdaCaption());
            for (ChargeBook chargeBook : list) {
                chargeBook.setCbkRemark(rdStatus(chargeBook.getCbkStatus()));
            }
            ExcelUtils.addValue("list", list);
            ExcelUtils.addValue("service",rdStatus(0) );
            try {
                ExcelUtils.export(request.getSession().getServletContext(),config,response.getOutputStream());
            } catch (ExcelException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
    }
    
     public static String encodeFilename(String filename, HttpServletRequest request) {    
            /**  
             * 获取客户端浏览器和操作系统信息  
             * 在IE浏览器中得到的是:User-Agent=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; Alexa Toolbar)  
             * 在Firefox中得到的是:User-Agent=Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.7.10) Gecko/20050717 Firefox/1.0.6  
             */    
            String agent = request.getHeader("USER-AGENT");    
            try {    
              if ((agent != null) && (-1 != agent.indexOf("MSIE"))) {    
                String newFileName = URLEncoder.encode(filename, "UTF-8");    
                newFileName = StringUtils.replace(newFileName, "+", "%20");    
                if (newFileName.length() > 150) {    
                  newFileName = new String(filename.getBytes("GB2312"), "ISO8859-1");    
                  newFileName = StringUtils.replace(newFileName, " ", "%20");    
                }    
                return newFileName;    
              }    
              if ((agent != null) && (-1 != agent.indexOf("Mozilla")))    
                return MimeUtility.encodeText(filename, "UTF-8", "B");    
            
              return filename;    
            } catch (Exception ex) {    
              return filename;    
            }    
         }

 

Excel 取值 : #foreach cb in ${list}  #end