springboot 之 使用easyexcel导出数据时数据格式转换问题
背景
导出数据库中的数据,有些字段格式为LocalDateTime需要转化为String.
(图片来源网络,侵删)
软件版本
springboot 2.7.17
easyexcel 3.0.5
代码
//实现相关接口,进行格式转化 import com.alibaba.excel.converters.Converter; import com.alibaba.excel.metadata.GlobalConfiguration; import com.alibaba.excel.metadata.data.WriteCellData; import com.alibaba.excel.metadata.property.ExcelContentProperty; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class LocalDateTimeConverter implements Converter { @Override public Class supportJavaTypeKey() { return LocalDateTime.class; } @Override public WriteCellData convertToExcelData(LocalDateTime value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { return new WriteCellData(value.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); } }
调用
//方法一: EasyExcel.write(excel, ExcelHeadClass.class).registerConverter(new LocalDateTimeConverter()).sheet("Shee名称").doWrite(dataList); //方法二:可以在字段属性上加@ExcelProperty注解的converter属性指定类 @ExcelProperty(value = "Create Datetime" , converter = LocalDateTimeConverter.class)
说明
转换接口提供了类型支持和数据转换的接口。比如从Excel读取数据处理为java bean的对应属性格式,或者将java bean转化为Excel保存对应的格式。
具体参考Converter泛型接口。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。