阅读Excel文件而不更改其内容

时间:2016-03-23 19:13:50

标签: java excel

我正在尝试上传和阅读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;
            }
        }
    }

1 个答案:

答案 0 :(得分:2)

您的单元格格式可能未设置为“文本”。看看这个:

Cell type custom

Cell Type Text

如您所见,当您没有明确地将单元格类型设置为文本时,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