在Java中写入没有日期的时间格式(hh:mm:ss)

时间:2015-11-02 11:42:00

标签: java excel apache-poi

我正在尝试将具有多个工作表的Excel(.xls)文件转换为.csv。代码工作正常,但我注意到某些列的数据类型从time数据类型更改为double数据类型。

示例:如果我的输入为class='.entry-content,我的输出结果为00:45:20。每个工作表都有使用time数据类型的列。

注意:我的输入没有日期部分。只有时间组件存在。我见过很少与此相关的帖子,并尝试了同样的方法。但java代码只打印默认日期并排除时间部分。

我觉得必须在case语句中修改一些东西才能填充time数据类型。我想有一个通用程序,以便每当有时间数据类型时,我必须以相同的格式编写它。我使用的代码:

0.006168981481481482

请问如何填充输出文件中没有日期而不是双倍的时间数据类型(hh:mm:ss)?

2 个答案:

答案 0 :(得分:1)

您应该首先创建一个CellStyle,然后为您的时间单元格设置此样式。另外对于cvs文件,你不能创建一个CellStyle,你应该使用excel文件来使用单元格样式。

对于Excel:

Cell

对于cvs文件,您应将data.append("16:15:11" + ","); 的值设置为String:

{"type":"Feature","properties":{"category":"Electrical","Name":"Plant No 1"},"geometry":{"type":"Point","coordinates":[81.73828125,62.59334083012024]}},{"type":"Feature","properties":{"category":"Electrical","Name":"Plane No 2"},"geometry":{"type":"Point","coordinates":[94.5703125,58.722598828043374]}},{"type":"Feature","properties":{"category":"Military","Name":"Base 1"},"geometry":{"type":"Point","coordinates":[104.4140625,62.91523303947614]}}

答案 1 :(得分:0)

尝试

if(cell.getCellType()==Cell.CELL_TYPE_NUMERIC){
        if (DateUtil.isCellDateFormatted(cell)) {
            System.out.println(cell.getDateCellValue());
        } else {
            System.out.println(cell.getNumericCellValue());
        }
}

有关详细信息,请参阅here