有天上飞的概念,就要有落地的实现
概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍
先赞后看,养成习惯
SpringBoot 图文教程系列文章目录
前言
上一篇文章中简单介绍了Poi的使用方式,但是用Poi去写代码着实繁琐了一些,假如你要实现的是复杂的需求,譬如:图片导出,多表数据导出,模板导出,大数据量导出等等,用最原生的Poi就不是很好的选择了。
难道要自己封装工具类了吗?
no no 轮子虽好,最好是别人写好的。所以从这篇文章开始介绍两个优秀的Poi工具 Easypoi 和 阿里开源的 EasyExcel。
EasyPoi
EasyPoi 是对poi封装的一个工具库,封装好了一些常见的Excel操作
最基本的导入导出
图片的导入导出
多表数据的导入导出
大批量数据的导入导出
模板的导出
接下来我们一起来将以上的功能实现出来
最基本的导入导出
最基本的导入导出,要导出的数据的实体类如下:
public class Teacher {
/**
* 老师的主键
*/
private Integer teacherId;
/**
* 名字
*/
private String teacherName;
/**
* 头像图片地址
*/
private String teacherImage;
/**
* 老师的状态 0代表正常 1代表删除
*/
private Integer teacherStatus;
}
省略get set
1.导入依赖
cn.afterturn
easypoi-base
3.2.0
cn.afterturn
easypoi-web
3.2.0
cn.afterturn
easypoi-annotation
3.2.0
2.给要导出数据实体类加注解
我们要导出的数据的实体类是Teacher 所以需要给Teacher加 Easypoi的注解
EasyPoi是注解式开发,所有的注解详情见官方文档,但是如果要完成的需求是最简单的导入导出的话,@Excel一个注解就足够了。
@Excel
这个是必须使用的注解,如果需求简单只使用这一个注解也是可以的,涵盖了常用的Excel需求,需要大家熟悉这个功能,主要分为基础,图片处理,时间处理,合并处理几块
添加好注解的实体类如下:
3.直接使用 EasyPoi 中的工具类导入导出
EasyPoi 是注解式开发,对Excel所有的定义,样式也好,日期格式化也好,都是在实体类的注解中定义
导出代码
/**
* easypoi导出
*/
@Test
public void test4() throws IOException {
// 模拟数据
List list = new ArrayList<>();
list.add(new Teacher(1,"李老师","hhh.jpg",1));
list.add(new Teacher(2,"李老师","hhh.jpg",1));
list.add(new Teacher(3,"李老师","hhh.jpg",1));