easyExcel 读取日期为数字的解决方案
在导入的模板文件中设置了日期格式 yyyy/mm/dd,java 接受实体类对应字段为Date
/*** 使用日期*/@ExcelProperty(value = "使用日期",converter = DateConverter.class)@DateTimeFormat("yyyy/MM/dd")@JsonFormat(pattern = "yyyy/MM/dd",timezone = "GMT+8",shape = JsonFormat.Shape.STRING)@JsonSerialize(using = DateSerializer.class)private Date usingTime;
easyExcel在解析时 该字段类型为Number. 值是从1900年1月1日到这一天的日期,所以添加解析器
public class DateConverter implements Converter<Date> {@Overridepublic Class supportJavaTypeKey() {return Date.class;}@Overridepublic CellDataTypeEnum supportExcelTypeKey() {return CellDataTypeEnum.STRING;}@Overridepublic Date convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) {if (cellData.getType().equals(CellDataTypeEnum.NUMBER)) {LocalDate localDate = LocalDate.of(1900, 1, 1);//excel 有些奇怪的bug, 导致日期数差2localDate = localDate.plusDays(cellData.getNumberValue().longValue() - 2);return Date.valueOf(localDate);} else if (cellData.getType().equals(CellDataTypeEnum.STRING)) {return Date.valueOf(LocalDate.parse(cellData.getStringValue(), DateTimeFormatter.ofPattern("yyyy/MM/dd")));} else {return null;}
}@Overridepublic CellData convertToExcelData(Date date, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) {return new CellData<>(date.toLocalDate().format(DateTimeFormatter.ofPattern("yyyy/MM/dd")));}
}
easyExcel 读取日期为数字的解决方案相关推荐
- poi解析excel读取日期为数字的问题
Apache poi 版本:3.12 今天在用poi解析excel文件时,碰到一个蛋疼的问题. 在我的excel文件中有一列是日期类型,例如有以下这么一行数据(日期中月份前面的0会自动去掉): 在读取 ...
- poi导入excel日期处理_poi解析excel读取日期为数字的问题
Apache poi 版本:3.12 今天在用poi解析excel文件时,碰到一个蛋疼的问题. 在我的excel文件中有一列是日期类型,例如有以下这么一行数据(日期中月份前面的0会自动去掉): 在读取 ...
- Python 的xlrd库读取日期和数字时输出显示不正确问题解决
这里是要读取的数据,有数字和日期,用xlrd库读取的时候会发现,数字后面多了个".0",读取的日期变成了时间戳 def get_sheet1_data(excelDir, shee ...
- 如何将excel中的日期和数字转换成文本
当我们使用程序读取excel文件的时候,如果读取日期或者数字数据的时候,总是会遇到将日期转换成一个5位数字,将数字添加.0等情况,遇到这类情况我们就需要在程序中做特殊处理了,下面我们使用通过操作exc ...
- EasyExcel读取Excel日期为数字如何解决
问题: 使用 EasyExcel 读取 Excel 数据时,表格中的日期自动转化为了一串数字 原因: 因为 Excel 导入的时间是以1900 年为原点的,而数字 34839 和 36577 则是19 ...
- 解决easyExcel读取EXCEL用String去接收数字,出现小数点BUG
起因 目前项目中需要使用easyExcel 读取Excel文件,因为后端使用mongodb存储格式,数据格式不确定.因此读取文件时,未传递.class对象(指用方法一调用),使用String 接收Nu ...
- jxl和poi读取excel出现日期变成数字的问题的查因及解决jxl和poi读取各种日期格式的验证和对比
前两天接了个问题的处理,就是页面导入Excel表格,表里日期数据入库后变成了数字的问题. Excel表格内容: 入库后的数据: ...
- python excel写入日期变数字_解决python 读取excel时 日期变成数字并加.0的问题
excel 文件内容如下: 读取excel内容: import xlrd from datetime import datetime from xlrd import xldate_as_dateti ...
- poi读取Excel日期为数字的解决方法
这个问题虽然也比较常见,解决办法也比较简单,但是网上有一些代码不全,思路混乱,乱七八糟的办法,容易误导大家,特地来为大家开路 这里分享一下我的一个思路 Maven依赖 <!--POI--> ...
最新文章
- pip install lxml失败原因
- 【python教程入门学习】利用Python绘制关系网络图
- TensorFlow中设置学习率的方式
- wxWidgets:wxBookCtrl 概述
- Python核心编程第四章
- 程序员面试金典 - 面试题 16.06. 最小差(排序+双指针)
- 【LeetCode】图论 graph(共20题)
- 做中国女人难,做中国女装更难
- c++命令行解析库cmdline使用
- 使用HeartBeat实现高可用HA的配置过程详解
- Java编程:获取用户是否输入回车符
- Illustrator 教程,如何在 Illustrator 中更改图稿颜色?
- AspectJ中5种类型的增强注解有什么区别?
- NetWare网络操作系统
- codeigniter mysql查询_codeigniter数据库操作函数汇总
- HTML嵌入百度地图
- ADAS高级驾驶辅助系统功能介绍
- 史上最全的信息收集总结!!!
- 2022年全球市场旋转压片机总体规模、主要生产商、主要地区、产品和应用细分研究报告
- 7-3 三维向量运算设计一个三维向量类,实现向量加法、减法以及向量与标量的乘法和除法运算。