大家好,欢迎来到IT知识分享网。

概述
Easypoi 是码云上的一个开源项目。项目开发组织是Lemur开源。目前属于码云最有价值开源项目。Easypoi 是对poi的封装,其主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法
功能特点
- 基于注解的导入导出,修改注解就可以修改Excel
- 支持常用的样式自定义
- 基于map可以灵活定义的表头字段
- 支持一堆多的导出,导入
- 支持模板的导出,一些常见的标签,自定义标签
- 支持HTML/Excel转换,如果模板还不能满足用户的变态需求,请用这个功能
- 支持word的导出,支持图片,Excel

Excel导入导出
Excel的导入导出是Easypoi的核心功能,前期基本也是围绕这个打造的,主要分为三种方式的处理,其中模板和Html目前只支持导出,因为支持Map.class其实导入应该是怎样都支持的
- 注解方式,注解变种方式
- 模板方式
- Html方式
因本人只使用过注解方式,其余方式可以去码云上查看即可。
注解
- @Excel 作用到filed上面,是对Excel一列的一个描述
- @ExcelCollection 表示一个集合,主要针对一对多的导出,比如一个老师对应多个科目,科目就可以用集合表示
- @ExcelEntity 表示一个继续深入导出的实体,但他没有太多的实际意义,只是告诉系统这个对象里面同样有导出的字段
- @ExcelIgnore 和名字一样表示这个字段被忽略跳过这个导导出
- @ExcelTarget 这个是作用于最外层的对象,描述这个对象的id,以便支持一个对象可以针对不同导出做出不同处理
Bean 定义

导出excel

导出效果

集合定义
@ExcelTarget("courseEntity") public class CourseEntity implements java.io.Serializable { / 主键 */ private String id; / 课程名称 */ @Excel(name = "课程名称", orderNum = "1", width = 25) private String name; / 老师主键 */ @ExcelEntity(id = "absent") private TeacherEntity mathTeacher; @ExcelCollection(name = "学生", orderNum = "4") private List<StudentEntity> students;}
@ExcelTarget("teacherEntity") public class TeacherEntity implements java.io.Serializable {private String id;/ name */@Excel(name = "主讲老师_major,代课老师_absent", orderNum = "1", isImportField = "true_major,true_absent")private String name;
Workbook workbook = ExcelExportUtil. exportExcel(new ExportParams("", "测试", "测试"), CourseEntity.class, list);
导出效果

Excel导入介绍
有导出就有导入,基于注解的导入导出,配置配置上是一样的,只是方式反过来而已,比如类型的替换 导出的时候是1替换成男,2替换成女,导入的时候则反过来,男变成1 ,女变成2,时间也是类似。
总结
easypoi 虽然是对poi的封装,但易用性大大提升,对于不了解poi的开发者,属于一个导入导出excel的工具包。本文只列出了最基本的excel导入导出,实际上还有很多好用的功能,大家可以去官网自行了解。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/180025.html