• easyexcel 实现代码


    依赖

                <dependency>
                    <groupId>com.alibaba</groupId>
                    <artifactId>easyexcel</artifactId>
                    <version>${easyexcel.version}</version>
                </dependency>
    
    <easyexcel.version>2.2.0-beta2</easyexcel.version>

    controller

        // 导出表
        @ApiOperation(value="导出")
        @GetMapping(value = "/exportData")
        public void exportData(HttpServletResponse response) {
            dictService.exportData(response);
        }
    
        // 导入表
        @ApiOperation(value = "导入")
        @PostMapping("/importData")
        public Result importData(MultipartFile file) {
            dictService.importData(file);
            return Result.ok();
        }

    service

        // 导出表
        @Override
        public void exportData(HttpServletResponse response) {
            try {
                // 设置下载信息
                response.setContentType("application/vnd.ms-excel");
                response.setCharacterEncoding("utf-8");
                // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
                String fileName = URLEncoder.encode("数据字典", "UTF-8");
                response.setHeader("Content-disposition", "attachment;filename="+ fileName + ".xlsx");
    
                // 查询数据库
                List<Dict> dictList = baseMapper.selectList(null);
                List<DictEeVo> dictVoList = new ArrayList<>(dictList.size());
                // 把数据封装处理一下 只提取几列 没有全部要
                for(Dict dict : dictList) {
                    DictEeVo dictVo = new DictEeVo();
                    //BeanUtils.copyBean(dict, dictVo, DictEeVo.class);
                    BeanUtils.copyProperties(dict,dictVo);
                    dictVoList.add(dictVo);
                }
                //
                EasyExcel.write(response.getOutputStream(), DictEeVo.class).sheet("数据字典").doWrite(dictVoList);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        // 导入表
        @Override
        @CacheEvict(value = "dict", allEntries=true)
        public void importData(MultipartFile file) {
            try {
                EasyExcel.read(file.getInputStream(),DictEeVo.class,new DictListener(baseMapper)).sheet().doRead();
            } catch (IOException e) {
                e.printStackTrace();
            }
    
        }
  • 相关阅读:
    kebernet--新手填坑
    CentOS7下yum安装Kubernetes
    Centos 7 下部署Django + uWSGI + Nginx
    IPV4地址学习笔记
    【转】性能测试报告模板 V1.0
    【转载】Nginx简介及使用Nginx实现负载均衡的原理
    分布下 session 共享同步
    GC 收集算法及几种收集器优缺点讲解
    单线程集合和多线程集合
    在linux中实现多网卡的绑定 介绍常见的7种Bond模式
  • 原文地址:https://www.cnblogs.com/ganxiang/p/16146529.html
Copyright © 2020-2023  润新知