【发布时间】:2013-10-22 18:00:03
【问题描述】:
我正在阅读一个 xlsx 文件 - Apache POI 库。
例如, 在某些行中,我有这样的单元格值:
2013 年 9 月 1 日 | 15136.00|马特|......
我的目标是: 将行中的所有单元格读取为字符串值。 但正如我所见,我无法将 01-Sep-13 读取为字符串, 它只用 cell.getDateCellValue() 表示像 Date 类型 ();
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();
}
}
【问题讨论】:
标签: java apache-poi simpledateformat xssf