package cn.iocoder.yudao.framework.excel.core.convert; import cn.idev.excel.converters.Converter; import cn.idev.excel.enums.CellDataTypeEnum; import cn.idev.excel.metadata.GlobalConfiguration; import cn.idev.excel.metadata.data.WriteCellData; import cn.idev.excel.metadata.property.ExcelContentProperty; import java.time.LocalTime; import java.time.format.DateTimeFormatter; /** * LocalTime 写出为纯文本(HH:mm:ss)的转换器 * *

FastExcel 内置没有 LocalTime 的转换器,导出含 LocalTime 字段的 VO 时 * 会抛 {@code Can not find 'Converter' support class LocalTime},接口直接 500。 * 注册本转换器后可正常导出。

* * @author 超级管理员 */ public class LocalTimeStringConverter implements Converter { private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("HH:mm:ss"); @Override public Class supportJavaTypeKey() { return LocalTime.class; } @Override public CellDataTypeEnum supportExcelTypeKey() { return CellDataTypeEnum.STRING; } @Override public WriteCellData convertToExcelData(LocalTime value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { return new WriteCellData<>(value.format(FORMATTER)); } }