我正在尝试将具有多个工作表的Excel(.xls)文件转换为.csv。代码工作正常,但我注意到某些列的数据类型从time数据类型更改为double数据类型。
示例:如果我的输入为class='.entry-content
,我的输出结果为00:45:20
。每个工作表都有使用time数据类型的列。
注意:我的输入没有日期部分。只有时间组件存在。我见过很少与此相关的帖子,并尝试了同样的方法。但java代码只打印默认日期并排除时间部分。
我觉得必须在case语句中修改一些东西才能填充time数据类型。我想有一个通用程序,以便每当有时间数据类型时,我必须以相同的格式编写它。我使用的代码:
0.006168981481481482
请问如何填充输出文件中没有日期而不是双倍的时间数据类型(hh:mm:ss)?
答案 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