Java导入Excel文件日期解析成了中文问题解决

本文分享了在Excel数据处理中遇到的挑战,如何通过getDateCellValue()处理日期格式错误,并解决了手机号存储格式问题。重点讲述了Java读取和格式化日期与手机号的方法,适合IT人员参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工作上业务近期上报数据使用的excel 之前都是Spoon 很少写poi 踩坑记录下

日期格式问题判断好类型直接通过 getDateCellValue()  即可正常格式存储

                        if (keyIndex.get("发证日期") != null) {//Java读取到为错误的日期格式 Value为天数 值为日期 月数为中文 无法处理
                            Cell licenseGrantDate = sheetRow.getCell(keyIndex.get("发证日期"));
                            if ("NUMERIC".equals(licenseGrantDate.getCellType().toString()) && isCellDateFormatted(licenseGrantDate)) {//判断cell类型是否为numeric number
                                    ypLs.setLicenseGrantDate(licenseGrantDate.getDateCellValue());//直接set进 getDateValue 即可正常格式
                            } else { //cell的Type是正常的 直接正常解析即可
                                ypLs.setLicenseGrantDate(format.parse(String.valueOf(licenseGrantDate)));
                            }
                        }

数字格式 这里是手机号 存储后为 1******10E 这样的格式 解决方式如下

                      if (keyIndex.get("联系电话") != null) {
                          Cell phone = sheetRow.getCell(keyIndex.get("联系电话"));
                          phone.setCellType(CellType.STRING);
                          String stringCellValue = phone.getStringCellValue();
                          ypLs.setLinkPhone(stringCellValue);
                     }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值