zoukankan      html  css  js  c++  java
  • 使用easypoi导出excel

    //依赖jar包 springboot方式

     <!-- easypoi -->
            <dependency>
                <groupId>cn.afterturn</groupId>
                <artifactId>easypoi-spring-boot-starter</artifactId>
                <version>4.0.0</version>
            </dependency>

    //js

    function exportExcel() {
        var url = "/sys/user/export";
        var args = {
            username:$('#searchName').val()
        };
        var params = Object.keys(args).map(function (key) {
            return encodeURIComponent(key) + "=" + encodeURIComponent(args[key]);
        }).join("&");
        window.location.href = url+"?"+params;
    }

    //Vo

    public class UserVO implements Serializable {
    
        @Excel(name = "登录名", width = 20)
        private String username;
    
        @Excel(name = "姓名", width = 20)
        private String realname;
    
        @Excel(name = "性别", replace = {"未知的性别_0","男性_1", "女性_2","未说明的性别_9"},width = 20)
        private int sex;
    
        @Excel(name = "电话", width = 20)
        private String moblie;
    
        @Excel(name = "邮箱", width = 20)
        private String email;
    
        @Excel(name = "状态", replace = {"禁用_0","启用_1"}, width = 20)
        private int state;
    
        @Excel(name = "创建时间", databaseFormat = "yyyyMMddHHmmss", format = "yyyy-MM-dd",width = 20)
        private Date createdat;
        //以下省略get set方法
        
    }    

    //java

    /**
         * 导出
         */
        @GetMapping("/export")
        public void export(@RequestParam Map<String, Object> params,HttpServletResponse response) {
            List<UserVO> userList = userService.export(params);
            ExportParams exportParams = new ExportParams("用户表", "user");
            exportParams.setType(ExcelType.XSSF);
            Workbook workbook = ExcelExportUtil.exportBigExcel(exportParams,UserVO.class, userList);
            ExcelExportUtil.closeExportBigExcel();
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
            String dateTime = LocalDateTime.now(ZoneOffset.of("+8")).format(formatter);
    
            String fileName = "user"+dateTime+".xlsx";
            if (workbook != null) {
                downLoadExcel(fileName, response, workbook);
            }
        }
    
        private static void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook) {
            try {
                response.setCharacterEncoding("UTF-8");
                response.setHeader("content-Type", "application/vnd.ms-excel");
                response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
                workbook.write(response.getOutputStream());
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
  • 相关阅读:
    【高斯消元】BZOJ 1770: [Usaco2009 Nov]lights 燈
    【高斯消元】Poj 1222:EXTENDED LIGHTS OUT
    【高斯消元】BZOJ 1013: [JSOI2008]球形空间产生器sphere
    【数学】[BZOJ 3884] 上帝与集合的正确用法
    【数学/扩展欧几里得/线性求逆元】[Sdoi2008]沙拉公主的困惑
    【数学/扩展欧几里得/Lucas定理】BZOJ 1951 :[Sdoi 2010]古代猪文
    【扩展欧几里得】Bzoj 1407: [Noi2002]Savage
    [51nod2935] 土地划分
    [51nod2982] 大逃杀
    [BZOJ1005] HNOI2008 明明的烦恼
  • 原文地址:https://www.cnblogs.com/liw66/p/10913179.html
Copyright © 2011-2022 走看看