<!--office 导入导出-->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-spring-boot-starter</artifactId>
<version>3.3.0</version>
</dependency>
或者引用
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-web</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>3.0.3</version>
</dependency>
用实体类的方式导入和导出(ps:简单和稍微复杂的导入导出都可以实现),基本的数据字段都比较容易实现,遇到日期格式的时候,会出现获取不到的问题,这里记录一些遇到的问题,但并没有全部解决问题。
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private String date;
开始使用的是字符串的形式接收的,这个会有一些限制,接收文本形式的日期(ps:由于限制太多这种方式就没用);
@Excel(name = "日期", orderNum = "1")
private Date date;
用Date接收日期,可以获取excel中自定义日期,如:2020/5/1(ps:由于本地excel设置问题,输入的日期都是这个形式),但是项目是给别人用的,每个人的习惯不一样,所以还是要支持2020-05-01这样标准的形式,那么还要继续探索;
@Excel(name = "日期", orderNum = "1",isImportField = "true",exportFormat = "yyyy-MM-dd", importFormat = "yyyy-MM-dd" ,databaseFormat = "yyyy-MM-dd")
private Date date;
然后又加几个注解:
sImportField :校验字段,看看这个字段是不是导入的Excel中有,如果没有说明是错误的Excel,读取失败,支持name_id
exportFormat :导出日期类格式化
importFormat 导入日期格式化
加完注解之后测试,基本支持常见的输入标准(年月日形式),当然除了文本格式,这个交给有缘人吧。。。。