EasyPoi的作者这样说:
Easypoi 为谁而开发
不太熟悉poi的
不想写太多重复太多的
只是简单的导入导出的
喜欢使用模板的
从实用的角度出发,我们先介绍EasyPoi的使用:
1、导出(将数据库中的数据导入到Excel表格中)
(1)环境搭建
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>4.0.0</version>
</dependency>
1.easypoi-annotation 基础注解包,作用与实体对象上,拆分后方便maven多工程的依赖管理
2.easypoi-base 导入导出的工具包,可以完成Excel导出,导入,Word的导出,Excel的导出功能
3.easypoi-web 耦合了spring-mvc 基于AbstractView,极大的简化spring-mvc下的导出功能
(2)实战代码
<1>定义student实体
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@ExcelTarget(value="student")
public class Student {
@Excel(name="ID")
private String id;
@Excel(name = "学生姓名")
private String name;
@Excel(name = "学生年龄")
private String age;
}
<2>定义teacher实体
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@ExcelTarget(value = "teacher")
public class Teacher {
@ExcelIgnore
private String id;
@Excel(name = "老师姓名",needMerge = true)
private String name;
@ExcelCollection(name = "计算机学生")
private List<Student> students;
}
<3>编写导出代码
@Test
public void testOut() throws IOException {
//创建学生集合,模拟数据库查询的结果
List<Student> stus = new ArrayList<Student>();
stus.add(new Student("1", "xxx", "12"));
stus.add(new Student("2", "***", "23"));
stus.add(new Student("3", "$$$", "33"));
stus.add(new Student("4", "&&&", "18"));
//创建老师集合
Teacher teacher = new Teacher("1","刘火火",stus);
List<Teacher> teachers = new ArrayList<Teacher>();
teachers.add(teacher);
//参数:(一级标题,二级标题,表名),实体类类对象,导出的集合
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("计算机一班学生", "632宿舍", "计算机学院宿舍信息表"),
Teacher.class, teachers);
workbook.write(new FileOutputStream(new File("D:/a.xls")));
//释放资源
workbook.close();
}
<4>导出结果展示
在这里插入图片描述
2、导入(将Excel表格
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200519110330557.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L29iamFjdA==,size_16,color_FFFFFF,t_70#pic_center)
原文链接:https://blog.csdn.net/qq_32108357/article/details/99953839