• EasyExcel使用


    自行搭建好SpringBoot工程

    EasyExcel简介

    1、是什么 EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。
    2、为什么 以使用简单、节省内存著称,EasyExcel采用一行一行的解析模式,并将一行的解析结果以观察者的模式通知处理

    EasyExcel写操作

    1、添加依赖

    <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.1.1</version>
        </dependency>
         <!--xls-->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
            </dependency>
    
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
            </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    2、在测试目录下创建实体

    在这里插入图片描述

    @Data
    public class DemoData {
        //设置表头名称
        @ExcelProperty("学生编号")
        private int sno;
    
        //设置表头名称
        @ExcelProperty("学生姓名")
        private String sname;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    3、创建测试类

    @Test
    public void writeTest(){
        // 写法1
        String fileName = "D:\\test\\201021\\write.xlsx";
        // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
        // 如果这里想使用03 则 传入excelType参数即可
        EasyExcel.write(fileName, DemoData.class).sheet("学生列表").doWrite(data());
    }
    
    
    //循环设置要添加的数据,最终封装到list集合中
    private static List<DemoData> data() {
        List<DemoData> list = new ArrayList<DemoData>();
        for (int i = 0; i < 10; i++) {
            DemoData data = new DemoData();
            data.setSno(i);
            data.setSname("张三"+i);
            list.add(data);
        }
        return list;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    在这里插入图片描述

    EasyExcel读操作

    1、读取数据文档
    列固定,行不固定
    2、修改实体

    @Data
    public class DemoData {
        //设置表头名称
        @ExcelProperty(value = "学生编号",index = 0)
        private int sno;
    
        //设置表头名称
        @ExcelProperty(value = "学生姓名",index = 1)
        private String sname;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    3、创建监听器

    public class ExcelListener extends AnalysisEventListener<DemoData> {
        //读取每一行数据
        @Override
        public void invoke(DemoData demoData, AnalysisContext analysisContext) {
        //在这里面完成相关业务,比如添加数据
            System.out.println(demoData);
        }
    
        //数据读取完做的事
        @Override
        public void doAfterAllAnalysed(AnalysisContext analysisContext) {
    
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    4、实现方法

    @Test
    public void  readTest(){
        String fileName = "D:\\test\\201021\\write.xlsx";
        EasyExcel.read(fileName, DemoData.class,new ExcelListener()).sheet().doRead();
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    5、测试
    在这里插入图片描述

  • 相关阅读:
    传奇战盟GOM引擎登录器配置教程
    HTML静态网页作业——电影介绍-你的名字 5页 无js 带音乐
    网易有道开源语音合成引擎“易魔声”
    amd64
    【树莓派/入门】1.69inch LCD屏幕的连接与测试
    【雷达】FMCW雷达系统信号处理建模与matlab仿真
    设计模式-组合模式
    C++学习笔记1
    electron 项目环境变量使用注意 public
    单目标应用:基于麻雀搜索算法SSA的微电网优化调度MATLAB
  • 原文地址:https://blog.csdn.net/daai5201314/article/details/126204219