• 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>
                    <version>3.1.7</version>
       </dependency>
                <!--xlsx-->
        <dependency>
                    <groupId>org.apache.poi</groupId>
                    <artifactId>poi-ooxml</artifactId>
                    <version>3.1.7</version>
         </dependency>
    

    == 注意版本对应==

    二、创建实体类

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @ToString
    public class DemoData {
    //设置excel表头的名称
    @ExcelProperty(“学生学号”)
    private Integer sno;
    @ExcelProperty(“学生姓名”)
    private String sname;

    }

    写操作

    public class TestEasyExcel {
    public static void main(String[] args) {
    //实现excel写操作
    //1.设置写入文件夹的地址和excel文件名称
    String fileName=“D:excelwrite.xlsx”;
    //2.调用eastExcel里面方法实现
    //参数一:文件路径名称
    //参数二:实体类的class
    EasyExcel.write(fileName,DemoData.class).sheet(“学生信息”).doWrite(getData());

    }
    private static List<DemoData> getData(){
        List<DemoData> list=new ArrayList<>();
        for(int i=0;i<10;i++){
            DemoData demoData=new DemoData();
            demoData.setSno(i);
            demoData.setSname("Tom"+i);
            list.add(demoData);
        }
        return list;
    }
    

    }
    测试成功
    在这里插入图片描述

    读操作

    创建实体类

    public class DemoData {
    //设置excel表头的名称
    //0代表第一列
    @ExcelProperty(value = “学生学号”,index = 0)
    private Integer sno;
    //1代表第二列
    @ExcelProperty(value = “学生姓名”,index = 1)
    private String sname;

    }
    创建监听进行excel文件读取

    public class ExcelListener extends AnalysisEventListener {

    //表示一行一行的读取excel的内容,不读表头
    @Override
    public void invoke(DemoData demoData, AnalysisContext analysisContext) {
        System.out.println("****"+demoData);
    }
    
    //读取表头里面的东西
    public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
        System.out.println("表头"+headMap);
    }
    
    //读取完成之后完成事情
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
    
    }
    

    }
    方法调用

            //1.设置读的文件夹的地址和excel文件名称
            String fileName="D:\excel\write.xlsx";
            EasyExcel.read(fileName, DemoData.class, new ExcelListener()).sheet().doRead();
    

    结果:
    在这里插入图片描述
    成功

  • 相关阅读:
    【转载】分布式之redis复习精讲
    Oracle学习笔记——常用函数总结
    数据库 字段动态添加
    c# form的设定
    C# 单元测试,测试资源管理器里面没有需要的单元测试
    Nvidia--cuda--document
    C# 文件的读取与另存为(WPF)
    java反射概述
    java设计模式:工厂模式
    oracle表被锁定的解决办法
  • 原文地址:https://www.cnblogs.com/HezhenbinGoGo/p/14243230.html
Copyright © 2020-2023  润新知