我正在尝试上传和阅读Excel文件的内容。如果内容是String格式,它工作正常。但我在excel文件中的内容如下:
02:02:02
03:03:03
04:04:04
我想做的就是检索内容。但是当我提取这些数据时,我最终得到的内容如下:
8.4745370370370374E-2
0.12711805555555555
0.169490740740741
有没有办法改变内容?
while (rowIterator.hasNext())
{
Row row = rowIterator.next();
//For each row, iterate through all the columns
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext())
{
Cell cell = cellIterator.next();
cell.setCellType(Cell.CELL_TYPE_STRING);
//Check the cell type and format accordingly
switch (cell.getCellType())
{
case Cell.CELL_TYPE_NUMERIC:
System.out.print(cell.getNumericCellValue());
break;
case Cell.CELL_TYPE_STRING:
System.out.print(cell.getStringCellValue());
break;
}
}
}
答案 0 :(得分:2)
您的单元格格式可能未设置为“文本”。看看这个:
如您所见,当您没有明确地将单元格类型设置为文本时,Excel会尝试猜测它。因此,当您导入它时,它可能会导入为Time。您可以将其显示为文本,方法是将单元格类型显式设置为Text
,然后键入时间02:02:02
,或者您可以将其读作excel时间格式然后进行转换。了解有关阅读Excel日期的更多信息:
How to read Excel cell having Date with Apache POI?
Reading date values from excel cell using POI HSSF API