有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

apache poi从Excel工作表读取日期值(Java)

我有一个显示excel工作表内容的Java代码。现在,当我处理数值/字符串/布尔数据时,它总是给出正确的结果。与之不同的是,为了测试我的代码,我在Excel中做了一些更改,并添加了一个日期值,例如2009年9月4日。在运行我的代码时,它返回了不想要的结果。代码和o/p如下所示如何从excel工作表中读取和显示日期值我使用的是ApachePOI。我可以做一些类似XSSFDateUtil的事情,然后检查单元格值是否为date,或者是否使用if-else?这是一个可能的解决方案吗

Java代码:

FileInputStream file = new FileInputStream(new File(FileName));
       System.out.println("The contents of sheet are:\n");
       XSSFWorkbook workbook = new XSSFWorkbook(file);
       XSSFSheet sheet = workbook.getSheetAt(0);
       Iterator<Row> rowIterator = sheet.iterator();
       while(rowIterator.hasNext()) {
           Row row = rowIterator.next(); 
           Iterator<Cell> cellIterator = row.cellIterator();
           while(cellIterator.hasNext()) {
               Cell cell = cellIterator.next();
               switch(cell.getCellType()) {
                   case Cell.CELL_TYPE_NUMERIC:
                       System.out.print(cell.getNumericCellValue() + "\t\t");
                       break;
                   case Cell.CELL_TYPE_STRING:
                       System.out.print(cell.getStringCellValue() + "\t\t");
                       break;
               }
           }
           System.out.println("");
       }    
       file.close();

O/p我收到了

ColA   | ColB....(few other columns)
32755.0|(other values)

相反,我想要的是日期值,而不是数字。我的工作表在可乐下显示了89年9月4日的日期,并显示了一些数字

所需O/p

ColA    | ColB....(few other columns)
4-SEP-89|(other values)

注意:-这是我代码的一部分,运行良好。它没有给出任何错误,但是我需要在o/p上做一些小的改变,如上所述我已经做了一段时间了。在这里之前,我问了一些与显示excel表格有关的问题-Issue while reading Excel document (Java code),这些问题与其他几个问题一起得到了解决。谢谢你

而且,据我所知,excel中的所有内容都被读取为字符串(布尔值除外)?是吗


共 (0) 个答案