zoukankan      html  css  js  c++  java
  • JAVA 使用POI导出数据格式为Execl

     需要下载一个poi的jar包。

    控制器

    @Override
        public void getContractListExecl(Contract contract, BindingResult result, HttpServletRequest req,
                HttpServletResponse response) throws IOException {
         
            List<Map<String, Object>> sttList = contractService.getContracts(contract);// 得到需要导出的数据
            int i = 0;
            // 第一步,创建一个webbook,对应一个Excel文件
            @SuppressWarnings("resource")
            HSSFWorkbook wb = new HSSFWorkbook();
            // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
            HSSFSheet sheet = wb.createSheet("title");
             // 设置表格默认列宽度为15个字节  
            sheet.setDefaultColumnWidth((short) 20);
            // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
            HSSFRow row = sheet.createRow(i);
            // 第四步,创建单元格,并设置值表头 设置表头居中
            HSSFCellStyle style = wb.createCellStyle();
            style.setAlignment(HSSFCellStyle.ALIGN_LEFT); // 创建一个居中格式
    
            HSSFCell cell = row.createCell(0);
            cell.setCellValue("用户姓名");
            cell.setCellStyle(style);
            cell = row.createCell(1);
    
            cell.setCellValue("电话");
            cell.setCellStyle(style);
            cell = row.createCell(2);
    
            cell.setCellValue("家庭医生团队名称");
            cell.setCellStyle(style);
            cell = row.createCell(3);
    
            cell.setCellValue("服务办理人姓名");
            cell.setCellStyle(style);
            cell = row.createCell(4);
    
            cell.setCellValue("服务办理人电话");
            cell.setCellStyle(style);
            cell = row.createCell(5);
    
            cell.setCellValue("服务办理人代码");
            cell.setCellStyle(style);
            cell = row.createCell(6);
    
            cell.setCellValue("完成签约时间");
            cell.setCellStyle(style);
            cell = row.createCell(7);
    
            cell.setCellValue("服务完成ITV编码");
            cell.setCellStyle(style);
            cell = row.createCell(8);
    
            cell.setCellValue("服务完成时间");
            cell.setCellStyle(style);
            cell = row.createCell(9);
    
            
    
            for (Map<String, Object> row_ : sttList) {
                row = sheet.createRow(++i);
                // 第四步,创建单元格,并设置值
                row.createCell(0)
                        .setCellValue(row_.get("userName") == null ? "###" : row_.get("userName").toString());
                row.createCell(1)
                        .setCellValue(row_.get("userPhone") == null ? "###" : row_.get("userPhone").toString());
                row.createCell(2).setCellValue(row_.get("dgName") == null ? "###" : row_.get("dgName").toString());
                row.createCell(3)
                        .setCellValue(row_.get("proxyName") == null ? "###" : row_.get("proxyName").toString());
                row.createCell(4).setCellValue(row_.get("proxyPhone") == null ? "###" : row_.get("proxyPhone").toString());
                row.createCell(5).setCellValue(row_.get("proxyCode") == null ? "###" : row_.get("proxyCode").toString());
                row.createCell(6).setCellValue(row_.get("updateTime") == null ? "###" : row_.get("updateTime").toString());
                row.createCell(7).setCellValue(row_.get("itvToken") == null ? "###" : row_.get("itvToken").toString());
                row.createCell(8).setCellValue(row_.get("itvUpdateTime") == null ? "###" : row_.get("itvUpdateTime").toString());
                
                
            }
            String fileName = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
            response.setHeader("content-disposition",
                    "attachment;filename=" + new String(fileName.getBytes("UTF-8"), "ISO8859-1") + ".xls");
            OutputStream fout = response.getOutputStream();
            wb.write(fout);
            fout.close();
        }
    
    }

     前端调用该接口就可以了!

    效果图:

  • 相关阅读:
    Git core objects
    各平台预定义的宏
    跨平台获取可执行文件的目录
    Windows、Linux、Mac OSX编译jni动态库
    xmpp整理笔记:发送图片信息和声音信息
    xmpp整理笔记:聊天信息的发送与显示
    xmpp整理笔记:用户网络连接及好友的管理
    小技巧,如何在Label中显示图片
    xmpp整理笔记:xmppFramework框架的导入和介绍
    xmpp整理笔记:环境的快速配置(附安装包)
  • 原文地址:https://www.cnblogs.com/hellokitty1/p/6003257.html
Copyright © 2011-2022 走看看