文章详情页
java - 关于使用POI解析excel中的时间格的值
问题描述
解析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
上一条:javascript - 微信jssdk 注入配置 提示 config:invalid signature下一条:javascript - 微信jssdk ios下自定义onMenuShareAppMessage 分享失效,Android分享成功
相关文章:
1. javascript - prismplayer播放器全屏问题2. python相关问题求解决,有偿3. python3.x - mongodb 显示不出中文,都是方块,该如何解决?4. javascript - vue2.0中router.repalce跟router.push有什么区别,二者的应用场景是会有怎样的区别?5. javascript - 在sublime中如何给.vue文件注释?6. HTML5怎么访问本地文件?7. javascript - 这种上传图片预览怎么做?8. javascript - input输入框触发change事件后,外部元素会被选中9. javascript - 把字符串日期转换成一般时间格式后,发现小于10的数字不会自动添加0在前面,如下10. javascript - js判断一个数组是否重复
排行榜