您的位置:首页技术文章
文章详情页

java - 关于使用POI解析excel中的时间格的值

【字号: 日期:2022-09-26 15:11:39浏览:61作者:猪猪

问题描述

解析excel时某一格存的是“8:00”,但是解析出来的值是“31-十二月-1899”。。。。黑人问号脸???这是怎么回事?没有报错。项目需求是客户写什么我就按照string解析出来就行,看了网上的大家的解释都是按照某固定格式来解析,我的需求希望是客户写什么我取出来什么,我该怎么做呢?我看了下excel该格格式为时间,设置成文本后就好了,但是按照客户不会,不知道,不改的条件去想象,,,,我想问我能从代码解决这个问题么

问题解答

回答1:

excel的时间实际上是存储的一串数字, 你看的单元格的值是格式化之后的结果, poi读cell的时候, 不管用户在excel使用的是什么格式显示的值, 只要是日期格式就可以判断出来的, 用poi可以这样写

if (cellType == org.apache.poi.ss.usermodel.Cell.CELL_TYPE_NUMERIC) { if (DateUtil.isCellDateFormatted(cell)) {value = cell.getDateCellValue().toString(); }}

如果本来就是文本格式就直接读成文本就行了

标签: excel
相关文章: