我有一个显示 excel 工作表内容的 Java 代码。现在,当我使用数字/字符串/布尔数据时,它总是给我正确的结果。不同的是,为了测试我的代码,我在 Excel 中做了一些更改,并添加了一个日期值,例如4-sep-09。在运行我的代码时,它返回了不想要的结果。代码和o/p如下所示。如何从 Excel 表中读取和显示日期值?我正在使用 Apache Poi。我本可以做类似 的事情XSSFDateUtil
并检查单元格值是日期还是不使用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)
相反,我希望必须打印该日期值而不是数字。我的工作表在ColA下有4-SEP-89日期,并且显示了一些数字。
所需的 O/P
ColA | ColB....(few other columns)
4-SEP-89|(other values)
注意:-这是我的代码的一部分,运行良好。它没有给出任何错误,但是我需要在上面提到的 o/p 中进行小的更改。我已经为此工作了一段时间。在此之前,我已经问过与显示 Excel 表格相关的问题——阅读 Excel 文档(Java 代码)时的问题,该文档与其他几个文档一起解决。不管怎么说,还是要谢谢你。
另外,据我所知,excel中的所有内容都被读取为字符串(布尔值除外)?不是吗?