我正在寻找Excel文件的同时验证日期和时间格式。有时可以不使用任何excel格式(日期,数字)等。当有人放置“ bbb”之类的字符而不是日期12-05-2018 06:24:23时。它将数据转换为今天的日期或服务器的初始日期(43435.093935185)。
这是错误的,我们如何检测单元格中提供的值是字符串还是日期?
我已经尝试过单元格格式函数getCellByColumnAndRow($ col,$ row)
但这并不能帮助检测数据是否有效,因为最终结果只是数字,而数字本身就是有效日期。
$data = $objWorksheet->getCellByColumnAndRow($col, $row);
if(!strtotime($data)) {
if(PHPExcel_Shared_Date::isDateTime($data)) {
$cellValue = $objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
$dateValue = PHPExcel_Shared_Date::ExcelToPHP($cellValue);
$dateh = date('Y-m-d',$dateValue);
} else {
$dateh = "";
} else {
$START_DATE = strtotime($data);
$dateh = date('Y-m-d',$START_DATE);
}
}
$START_DATE = date('Y-m-d', PHPExcel_Shared_Date::ExcelToPHP($worksheet->getCellByColumnAndRow(1, $row)->getValue()));
我希望仅在日期有效时添加以dB为单位的日期,否则提供错误消息,