springboot 之 使用easyexcel导出数据时数据格式转换问题

07-17 824阅读

背景

导出数据库中的数据,有些字段格式为LocalDateTime需要转化为String.

springboot 之 使用easyexcel导出数据时数据格式转换问题
(图片来源网络,侵删)

软件版本

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泛型接口。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]