1.旧版本
在新的版本中formate已经被打上废弃标记。那么不推荐使用这种方式。
2.推荐方式
推荐使用另外一种方式【 Converter 】代码如下,例如需要格式化到毫秒【yyyy-MM-dd HH:mm:ss SSS】级别
创建一个公共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.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;import java.text.SimpleDateFormat;
import java.util.Date;
public class DateForMillisecondConverter implements Converter<Date> {private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");@Overridepublic Class<Date> supportJavaTypeKey() {return Date.class;}@Overridepublic CellDataTypeEnum supportExcelTypeKey() {return CellDataTypeEnum.STRING;}@Overridepublic WriteCellData convertToExcelData(Date value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {if (value == null) {return new WriteCellData();}return new WriteCellData(DATE_FORMAT.format(value));}
}
使用方式
@ColumnWidth(20)@ExcelProperty(value = "时间",converter = DateForMillisecondConverter.class)private Date date;
3.使用效果
导出时,即可带上毫秒
4. 类推
其他例如不同的格式也可以进行相同的修改即可。修改此处即可
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");