• EasyExcel进行读写操作


    1、导入Pom依赖

        <!--引入EasyExcel,同时需要引入poi的包-->
            <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.17</version>
             </dependency>
                <!--xlsx-->
             <dependency>
                 <groupId>org.apache.poi</groupId>
                 <artifactId>poi-ooxml</artifactId>
                  <version>3.17</version>
             </dependency>
    

    2、读操作

    建立实体类

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

    测试

    public class TestEasyExcel {
        public static void main(String[] args) {
            //实现excel写操作
            //1.设置写入文件夹的地址和excel文件名称
            //String fileName="D:\excel\write.xlsx";
            //2.调用eastExcel里面方法实现
            //参数一:文件路径名称
            //参数二:实体类的class
            //EasyExcel.write(fileName,DemoData.class).sheet("学生信息").doWrite(getData());
    
            //读操作
            //1.设置读的文件夹的地址和excel文件名称
            String fileName="D:\excel\write.xlsx";
            EasyExcel.read(fileName, DemoData.class, new ExcelListener()).sheet().doRead();
        }
        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 ExcelListener extends AnalysisEventListener<DemoData> {
    
        //表示一行一行的读取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();
    
  • 相关阅读:
    指针与数组的区别 —— 《C语言深度剖析》读书心得
    console ouput 与 重定向输出 效率对比
    First day in 阿里
    TestNG 使用入门教程
    Spring简单使用简介
    玩转Spring JUnit+mockito+powermock单元测试(使用详解)
    Spring Boot Junit 单元测试详解
    spring @Value注入map、List、Bean、static变量方式及详细使用
    单元测试Junit使用详解
    Mockito & PowerMock详解
  • 原文地址:https://www.cnblogs.com/HezhenbinGoGo/p/14305213.html
Copyright © 2020-2023  润新知