zoukankan      html  css  js  c++  java
  • poi 实战代码---导出Excel(根据模板导出)

    /**

         * 导出excel

         * @param request  

         * @param response

         * @return

         * @throws Exception

         */

        @RequestMapping("exportExcel")

        @Action(description="导出excel")

        public void exportExcel(HttpServletRequest request, HttpServletResponse response) throws Exception

        {

           //获取实体类,并取得时刻点的值,存放到map里面

               String  id = RequestUtil.getString(request,"id");

                LoadDate ld = new LoadDate();

                ld = loadDateService.getById(Long.parseLong(id));

                String mapVal = ld.getValue();

                JSONObject json = JSONObject.fromObject(mapVal);

                Map<String,String> map = new HashMap<String,String>();

                if (BeanUtils.isNotEmpty(json)) {

                Iterator<String> iterator = json.keys();

                    while (iterator.hasNext()) {

                   String ie = (String) iterator.next();

                   map.put(ie, json.getString(ie));

                    }

                }

                String dirPath = FileUtil.getRootPath() + File.separator+"commons" +File.separator+"template"+File.separator+"exportMode"+File.separator;

               String fileName="loadTemplate.xls";

                FileInputStream inStream = new FileInputStream(new File(dirPath+fileName));

                //读取excel模板 

                HSSFWorkbook wb = new HSSFWorkbook(inStream);    //读取excel模板  

                //读取了模板内所有sheet内容 

                HSSFSheet sheet = wb.getSheetAt(0); 

                HSSFCell cell = null;

                //在相应的单元格进行赋值 

                for(int i=2;i<=97;i++){

                    cell = sheet.getRow(i).getCell(1);

                    String tmp = cell.getStringCellValue();

                    cell.setCellValue(map.get(tmp)); 

                }

               

                for(int i=98;i<=102;i++){

                    cell = sheet.getRow(i).getCell(1);

                    String tmp = cell.getStringCellValue();

                   

                    if("ycgfdl".equals(tmp)){

                       if(BeanUtils.isNotEmpty(ld.getYcgfdl())){

                           cell.setCellValue(ld.getYcgfdl()); 

                       }else{

                           cell.setCellValue(""); 

                       }

                    }else if("ycqdl".equals(tmp)){

                       if(BeanUtils.isNotEmpty(ld.getYcqdl())){

                           cell.setCellValue(ld.getYcqdl()); 

                       }else{

                           cell.setCellValue(""); 

                       }

                    }else if("yccfdLi".equals(tmp)){

                       if(BeanUtils.isNotEmpty(ld.getYccfdLi())){

                           cell.setCellValue(ld.getYccfdLi()); 

                       }else{

                           cell.setCellValue(""); 

                       }

                    }else if("yccfdLl".equals(tmp)){

                       if(BeanUtils.isNotEmpty(ld.getYccfdLl())){

                           cell.setCellValue(ld.getYccfdLl()); 

                       }else{

                           cell.setCellValue(""); 

                       }

                    }else if("ycdgdl".equals(tmp)){

                       if(BeanUtils.isNotEmpty(ld.getYcdgdl())){

                           cell.setCellValue(ld.getYcdgdl()); 

                       }else{

                           cell.setCellValue(""); 

                       }

                    }

                }

               

                response.setContentType("application/octet-stream;charset=UTF-8");

                response.setHeader("Content-Type","application/vnd.ms-excel");

                response.setHeader( "Content-Disposition", "attachment;filename=" + new String( fileName.getBytes("GB2312"), "8859_1" ));

                response.addHeader("Pargam", "no-cache"); 

                response.addHeader("Cache-Control", "no-cache");

                OutputStream out = response.getOutputStream();   

                wb.write(out);

                out.flush();   

                out.close();

            }

  • 相关阅读:
    基础设计模式-04 复杂对象创建的建造器模式
    String,StringBuffer和StringBuilder
    js常用删除
    基础设计模式-03 从过滤器(Filter)校验链学习职责链模式
    基础设计模式-02 UML图
    注册全局方法,全局过滤器和全局组件
    py-faster-rcnn
    mac下编译cpu only caffe并用xCode建caffe工程
    OpenCV学习笔记(一)
    caffe生成voc格式lmdb
  • 原文地址:https://www.cnblogs.com/rdchen/p/10245142.html
Copyright © 2011-2022 走看看