当前位置:   article > 正文

EasyExcel入门小demo,简单理解EasyExcel

easyexcel

一、什么是EasyExcel

EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。该项目实现了列表数据的导入,分页列表导出,支持自定义格式,支持模版以及模板和列表的混合导出,小巧、简易、高性能。

二、使用

1.pom.xml 

<!--测试依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>2.3.4.RELEASE</version>
        </dependency>
<!--Lombok依赖-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
        </dependency>
<!--easyexcel依赖-->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>easyexcel</artifactId>
        <version>2.1.1</version>
    </dependency>

2.实体类(需要写入excel的类) 

  1. @Data
  2. public class Code {
  3. @ExcelProperty("名字")
  4. private String name;
  5. @ExcelProperty("类型")
  6. private String type;
  7. @ExcelProperty("数量")
  8. private Integer num;
  9. }

 3.监听器类

  1. @Slf4j
  2. public class CodeDataListner extends AnalysisEventListener<Code> {
  3. /**
  4. * 读取
  5. * @param code
  6. * @param analysisContext
  7. */
  8. @Override
  9. public void invoke(Code code, AnalysisContext analysisContext) {
  10. log.info("=========李东昊扫垃圾========={}",code);
  11. }
  12. /**
  13. * 执行完毕
  14. * @param analysisContext
  15. */
  16. @Override
  17. public void doAfterAllAnalysed(AnalysisContext analysisContext) {
  18. log.info("=========李东昊结束了=========Code(扫累了)",Code.class);
  19. }
  20. }

4.测试类

  1. @SpringBootTest
  2. public class BalabalaTest {
  3. private List<Code> codeList(){//打桩数据
  4. List<Code> list = new ArrayList<>();
  5. for (int i = 0; i < 10; i++) {
  6. Code code = new Code();
  7. code.setName("臭垃圾:"+i);
  8. code.setType("厨余垃圾");
  9. code.setNum(i+3568);
  10. list.add(code);
  11. }
  12. return list;
  13. }
  14. @Test
  15. public void writeExcel(){//写入excel
  16. String filename="D:/testexcel.xlsx";//文件需要提前存在
  17. EasyExcel.write(filename,Code.class).sheet("test01").doWrite(codeList());
  18. }
  19. @Test
  20. public void readExcel(){//读取excel
  21. String filename="D:/testexcel.xlsx";//文件需要提前存在
  22. EasyExcel.read(filename,Code.class, new CodeDataListner()).sheet().doRead();
  23. }
  24. }

三、运行结果

1.写入

2.读取

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/算法构造者/article/detail/61138
推荐阅读
相关标签
  

闽ICP备14008679号