我有一个正在阅读的 xlsx 文件- Apache POI Library。
例如,在某行中,我有这样的单元格值:
2013 年 9 月 1 日 | 15136.00|马特|……
我的目标是: 将行中的所有单元格读取为字符串值。但正如我所见,我无法将 01-Sep-13 读取为字符串,它只表示像 Date type () 和 cell.getDateCellValue();
1)我能以某种方式将 01-Sep-13 读为字符串:“01-Sep-13”吗? 2)如果我有 不同的日期模式(ddMMyyyy)和(dd-MMM-yy),我可以将日期值转换为字符串吗?
代码:
当我遍历行和单元格时,Apache POI 会分析每种单元格类型:
String normalizeCellType(Cell cell) {
switch (cell.getCellType()) {
case Cell.CELL_TYPE_STRING:
return cell.getRichStringCellValue().getString());
case Cell.CELL_TYPE_NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) {
Date date = cell.getDateCellValue(); ????????????
System.out.println(date);
} else {
....
}
break;
case Cell.CELL_TYPE_BOOLEAN:
return ....
case Cell.CELL_TYPE_FORMULA:
return ....
default:
System.out.println();
}
}
原文由 Sergii Lisnychyi 发布,翻译遵循 CC BY-SA 4.0 许可协议
您有 2 个选择:
SimpleDateFormat
类 以您选择的格式将返回的Date
格式化为String
。对于您需要的每种不同格式,您可以拥有一个SimpleDateFormat
实例。DataFormatter
类 直接格式化Cell
。