EasyExcel 自定义LocalDate类型转换器Converter
1 Maven依赖
<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.8</version></dependency>
2 LocalDateConverter
LocalDate类型转换器。
package com.convert;import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.*;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import org.springframework.stereotype.Component;import java.time.LocalDate;
import java.time.format.DateTimeFormatter;/*** LocalDate类型转换器*/
@Component
public class LocalDateConverter implements Converter<LocalDate> {@Overridepublic Class<LocalDate> supportJavaTypeKey() {return LocalDate.class;}@Overridepublic CellDataTypeEnum supportExcelTypeKey() {return CellDataTypeEnum.STRING;}@Overridepublic LocalDate convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {return LocalDate.parse(cellData.getStringValue(), DateTimeFormatter.ofPattern("yyyy-MM-dd"));}@Overridepublic CellData convertToExcelData(LocalDate localDate, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {return new CellData<>(localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));}
}
3 调试代码
/*** 调试自定义Convert** @param response*/@GetMapping("/customConvert")public void customConvert(HttpServletResponse response) throws IOException {List<List<Object>> sheetDataList = new ArrayList<>();List<Object> rowList = new ArrayList<>();rowList.add(LocalDate.parse("2021-07-30", DateTimeFormatter.ofPattern("yyyy-MM-dd")));sheetDataList.add(rowList);response.addHeader("Content-Disposition", "filename=test.xlsx" );//设置类型,扩展名为.xlsresponse.setContentType("application/vnd.ms-excel");ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream())//加载类型转换器.registerConverter(new LocalDateConverter()).build();WriteSheet writeSheet = EasyExcel.writerSheet("模板").build();excelWriter.write(sheetDataList, writeSheet);//千万别忘记finish 会帮忙关闭流excelWriter.finish();}
4 调试结果
旭东怪的个人空间-旭东怪个人主页-哔哩哔哩视频哔哩哔哩旭东怪的个人空间,提供旭东怪分享的视频、音频、文章、动态、收藏等内容,关注旭东怪账号,第一时间了解UP注动态。人生低谷不可怕,可怕的是坚持不到人生转折点的那一天https://space.bilibili.com/484264966?spm_id_from=333.1007.0.0
EasyExcel 自定义LocalDate类型转换器Converter相关推荐
- Spring MVC自定义类型转换器Converter、参数解析器HandlerMethodArgumentResolver
文章目录 一.前言 二.类型转换器Converter 1.自定义类型转换器 三.参数解析器 1.自定义分页参数解析器 2.自定义注解参数解析器 一.前言 Spring MVC源码分析相关文章已出: S ...
- 自定义的类型转换器中怎样自定义错误消息?(待解答)
1.HTTP没有"类型"的概念,每一项表单输入只可能是一个字符串或一个字符串数组.从HTML表单到服务器端,必须把String转换为特定的数据类型. 2.字符串和基本数据类型之间的 ...
- Spring MVC__自定义日期类型转换器
WEB层采用Spring MVC框架,将查询到的数据传递给APP端或客户端,这没啥,但是坑的是实体类中有日期类型的属性,但是你必须提前格式化好之后返回给它们.说真的,以前真没这样做过,之前都是一口气查 ...
- SpringMVC配置任何类型转换器 Converter(以时间类型为例)
SpringMVC配置任何类型转换器 Converter (以时间类型为例) 从页面传到后台的时间字符串转成日期格式封装到实体类 1. 定义时间DateConverter转换类实现 Converte ...
- 通过mybatis自定义参数类型转换器,进行数据库字段加密脱敏
1 问题背景 在数据库存储人员的信息时,有一些信息是敏感数据,如身份证号.出生地等.为了防止信息泄漏,这些信息不允许直接在数据库中查看,此时就需要对这些字段进行加密存储,但在页面查看的仍旧是解密后的数 ...
- java converter转换器_在SpringMVC中设置自定义类型转换器Converter
前言 在SpringMVC中为我们提供了许多内置的类型转换器,当我们在HTML表单中发起一个请求时,Spring会根据表单项中name属性的值映射到POJO的属性名,调用相对性属性的set方法帮我们把 ...
- SpringMVC(7)——类型转换器Converter
目录 概述 内置的类型转换器 自定义类型转换器 创建实体类 创建控制器类 创建自定义类型转换器类 注册类型转换器 创建JSP视图文件 运行效果 概述 SpringMVC框架的Converter< ...
- oracle typehandler,Mybatis实现自定义的类型转换器TypeHandler
此文其实是java操作Oracle类型XMLType总结二:使用Mybatis附带的一篇小结. Mybatis实现自定义的转换器,十分的简单,其主要步骤分为三步,这里以操作XMLType类型为例. 第 ...
- 使用 mybatis 自定义日期类型转换器
文章目录 前言 一.resources 1.1 sqlMapConfig.xml 1.2 log4j.properties 1.3 userMapper.xml 二.java结构 2.1 dao 2. ...
最新文章
- 远程更新FPGA配置的热启动地址(WBSTAR)的格式?
- 第五百七十二、三天 how can I 坚持
- TensorFlow ImportError: (‘Failed to import pydot. You must `pip install pydot`)
- 初级算法——两个物种(蓝桥杯)
- linux命令 把文件夹拷贝一遍_cp 快捷命令:复制文件到多个目录
- 在linux的weblogic上增加启动参数
- svn强制注释 linux,svn强制要求提交注释
- 《Python Cookbook 3rd》笔记(2.1):使用多个界定符分割字符串
- vscode php formatter mac配置_Mac上配置Vs code时,遇到的几个“坑”!
- (10)verilog语言编写SPI发送
- 31 岁的我为何会在创业成功后选择编程?
- Javascript s04
- 显示纯服务器_BBT三行代码搭建服务器,让Dynamo跳出IronPython的封锁
- register 寄存器变量
- Atitit 软件 开发 与互联网发展趋势 与一些原则 潮流就是社区化 o2o 各种服务化 xaas ##--------信息化建设的理念 1.1.兼容性(不同版本与项目兼容性有利
- PWM、PPM、SBUS、DSM2这四种协议区别
- java成员变量的调用_java中对象调用成员变量与成员的方法介绍
- 575. 分糖果【我亦无他唯手熟尔】
- 高等数学:数列前后项【递推式的单调性】与【整个数列单调性】的关系
- Kaggle数据集之电信客户流失数据分析