![](/img/trans.png)
[英]How to read dynamically changing values from Excel sheet in java without saving Excel sheet
[英]Read Date values from Excel Sheet (Java)
我有一个Java代码,可显示excel工作表的内容。 现在,当我使用数字/字符串/布尔数据时,它总是给我正确的结果。 与之不同,为了测试我的代码,我在Excel中做了很少的更改,并添加了一个日期值 ,例如4-sep-09 。 在运行我的代码时,它返回了不良结果。 代码和o / p如下所示。 我如何从Excel工作表中读取和显示日期值? 我正在使用Apache Poi。 我可以做类似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)
相反,我想要的日期值必须打印而不是数字。 我的工作表在ColA下有4-SEP- 89日期 ,并且显示一些数字。
所需的O / P
ColA | ColB....(few other columns)
4-SEP-89|(other values)
注意 :- 这是我的代码的一部分,运行良好。 它没有任何错误,但是如上所述,我需要对o / p进行小的更改。 我已经为此工作了一段时间。 我曾问过与在此处显示excel表有关的问题- 在阅读Excel文档(Java代码)时会出现问题,该问题与其他问题一起得到了解决。 不管怎么说,还是要谢谢你。
另外,据我所知,所有来自excel的内容都读取为字符串(布尔值除外)? 是不是?
您可能需要查看DateUtil.isCellDateFormatted()
DateUtil是一个实用程序类,可帮助您处理excel日期。 它也具有从Cell
double
获取Java Date的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.