在实际项目中可能需要客户将预先指定好格式的excel中的数据导入到服务端数据库。其中可能包含日期列,如果我们按照下面方式取出日期列值:
sheet.getCell(9, i).getContents();
// 如果excel填写的是2014-1-17,则取出的值是14-1-17
如果我们要求的格式是“yyyy-MM-dd”,则不能满足需求。可以使用下面方式取值:
String cell10 = "";
String msg = "";
// 如果是Date类型
if (sheet.getCell(9, i).getType() == CellType.DATE) {
DateCell dc = (DateCell)sheet.getCell(9, i);
cell10 = new SimpleDateFormat("yyyy-MM-dd").format(dc.getDate());
} else {
// 否则进行日期格式检查
DateFormat dfm = DateFormat.getDateInstance();
try {
cell10 = new SimpleDateFormat("yyyy-MM-dd").format(dfm.parse(cell10));
} catch (ParseException pe) {
msg = "第" + i + "行 “生产时间” 列的格式不正确,系统只接受YYYY-MM-DD格式日期";
}
}