java-web应用之poi日期转换问题

在使用Java的POI库处理Excel导入时,遇到日期转换问题。Excel模板中的日期格式为yyyy年MM月,而从单元格读取到的是数字格式。通过使用HSSFDateUtil类能成功将数字转换为日期,例如将"43739"转换为"2019-10-01",解决了日期解析的难题。
摘要由CSDN通过智能技术生成

背景:
最近老是在做poi导入,导出相关的功能,期间遇到一个导入日期不能转换的问题。
具体如下:
需求: 将导入模板的数据导入到oracle数据库中。导入模板中的日期格式如图:
在这里插入图片描述可以看到,在表格中的日期格式是 yyyy年MM月这样的,查看上述栏:发现是2016/6/1这种的。得出结论这个单元格是设置了日期格式的。
调试过程:
首先我是这样想的,使用poi进行解析然后将会获得的如2019年10月这样的字符串,接着进行截取转换为2019-10,然后使用SimpleDateFormat类重新格式化,但事实往往出乎意料:
报错了,打开断点调试查看获取的值:
在这里插入图片描述获取到第一个日期字符串值是"43739",明明是2019年10月或者2019/10/01好吧,欺负我不认识字??醉了,看来excel模板中定义的日期格式有一定限制,不能按照常规来解析。
解决思路:
其实这种设置了 固定格式的单元格日期-excel文件
是可以将其转换过来的。
另外开一个小测试:
核心: 使用 poi依赖包中的 HSSFDateU

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值