一、前言
LocalDateTime系列是jdk8针对日期、时间处理提供的全新的操作类,相较于Date类有很大的提升,具体参考末尾的链接。
所以,在项目对时间、日期的处理也逐渐用LocalDateTime取代。EasyExcel中自带了DateStringConverter用于Date的数据类型转换,但LocalDateTime系列没有,故写此自定义数据格式转换器。
二、自定义Converter
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
/**
* @Author gmd
* @Description EasyExcel自定义LocalDateTime系列时间日期转换器
* 用法:
* 1、@ExcelProperty(value = {"添加时间"}, converter = BaseDateConverter.LocalDateTimeConverter.class)
* 2、ExcelWriter writer = EasyExcel.write(response.getOutputStream()).registerConverter(new BaseDateConverter.LocalDateConverter()).build();
* @Date 2022-08-31 19:23:08
*/
public class BaseDateConverter {
/**
* 核心抽象类,负责不同类的数据类型装换
* @param <T> LocalXXX类泛型
*/
private static abstract class CoreConverter<T> implements Converter<T> {
private Class<T> clazz;
/**
* 指定Class类型,接收Lo

本文介绍了如何在Java项目中使用LocalDateTime替代Date,并在EasyExcel中自定义Converter进行数据类型转换。作者提供了一个BaseDateConverter抽象类,包含LocalDate、LocalTime和LocalDateTime的转换器子类,支持读取和写入Excel时的时间日期格式化。

4万+

被折叠的 条评论
为什么被折叠?



