首页  >  问答  >  正文

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

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

大家讲道理大家讲道理2713 天前809

全部回复(1)我来回复

  • PHP中文网

    PHP中文网2017-05-17 10:02:34

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

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

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

    回复
    0
  • 取消回复