gpt4 book ai didi

java - 从 Excel 工作表读取日期值 (Java)

转载 作者:行者123 更新时间:2023-12-01 18:55:49 25 4
gpt4 key购买 nike

我有一个显示 Excel 工作表内容的 Java 代码。现在,当我处理数字/字符串/boolean 数据时,它总是给我正确的结果。与此不同的是,为了测试我的代码,我在 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 工作表相关的问题 - Issue while reading Excel document (Java code)这是与其他几个问题一起解决的。不管怎样,谢谢。

此外,据我所知,Excel 中的所有内容都被读取为字符串( boolean 值除外)?是不是这样?

最佳答案

您可能想查看DateUtil.isCellDateFormatted()

DateUtil 是一个实用程序类,可帮助您处理 Excel 日期。它还具有从 Cell

获取的 double 中获取 Java 日期的方法

关于java - 从 Excel 工作表读取日期值 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14055554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com