使用springboot整合EasyExcel对excel类型的文件进行读写操作

实现功能:可以将java对象转换成excel文件或者将excel文件中的内容读取到java中

具体的实现:

  • 导入对应的依赖
  • 实现读操作
  • 实现写操作

  • 导入对应的依赖

<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>2.1.1</version>
</dependency>

  • 实现写操作

1. 编写对应的excel表格的实体类

2.在java中编写方法实现文件的写入(文件不存在则创建写入)

/**
 * 实现excel的写操作
 */
@Test
public void TestWrite(){
    //构建数据
    List<UserData> list=new ArrayList<>();

    for (int i = 1; i <= 10; i++) {
        UserData userData = new UserData();
        userData.setName("jack"+i);
        userData.setUid(i);
        userData.setAge(20+i);

        list.add(userData);
    }

    //设置文件路径和名称
    String filePath="f:\\excel\\01.xlsx";

    EasyExcel.write(filePath,UserData.class)
            .sheet("用户信息")
            .doWrite(list);
}

效果如下:


  • 实现操作

  1. 导入依赖
  2. 编写与表格中类中对应的实体类
  3. 编写对应的监听器
  4. 编写具体的实现过程

注意:1在写操作中已经实现,2我们想要读取的excel表格就是写操作的生成的表格,所以1和2已经实现,直接进入第三步

3.编写对应的监听器AnalysisEventListener<UserData>

public class ExcelLisener extends AnalysisEventListener<UserData> {

    //会读取excel每一行的记录,并封装成userdata对象(从第二行开始读取)
    @Override
    public void invoke(UserData userData, AnalysisContext analysisContext) {
        System.out.println(userData);

    }

    //读取表头信息
    @Override
    public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
        System.out.println("表头信息"+headMap);
    }

    //读取之后执行
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {

    }
}

4.具体实现

@Test
public void TestRead(){
    //设置文件路径和名称
    String filePath="f:\\excel\\01.xlsx";

    EasyExcel.read(filePath,UserData.class,new ExcelLisener()).sheet().doRead();

}

效果:

总结:使用EasyExcel这个组件实现.xlsx(excel)文件的读写十分的简单,大概的操作就是这样,如果有什么疑问,不懂的,或者有错误,欢迎留言。

猜你喜欢

转载自blog.csdn.net/weixin_45533131/article/details/128431577