PHPExcel 有没有办法验证 dd-mm-yyyy 格式的输入日期


PHPExcel Is there any way to validate input date in dd-mm-yyyy format?

我有以下代码用于从.xls文件中读取数据。

$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setReadDataOnly(false);
$objPHPExcel = $objReader->load($inputFileName);
$objWorksheet = $objPHPExcel->setActiveSheetIndex(0);
$highestRow = $objWorksheet->getHighestRow();
$highestColumn = $objWorksheet->getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
$chunksize=_CHUNKSIZE_;
$endRow=$chunksize;
$count=ceil($highestRow/$chunksize);
for ($row=1;$row<=$endRow;$row++)
        {
            if($row>$highestRow){
                break;
            }
            for ($col=0;$col<$highestColumnIndex;$col++)
            {
                $cellobj=$objWorksheet->getCellByColumnAndRow($col, $row);
                $value=$cellobj->getValue();
                if(PHPExcel_Shared_Date::isDateTime($cellobj)) { //to check the date
                    $value=$cellobj->getFormattedValue();
                }
            }
        }

在这里,当以任何格式提供任何日期时,它以"mm-dd-yyyy"格式返回日期。我实际上需要验证日期是否应该在"dd-mm-yyyy"中。

而不是使用

if(PHPExcel_Shared_Date::isDateTime($cellobj)) { //to check the date
    $value=$cellobj->getFormattedValue();
}

若要验证单元格是否包含日期,并将其转换为使用单元格格式掩码设置格式的字符串,请使用

if(PHPExcel_Shared_Date::isDateTime($cellobj)) { //to check the date
    $datetimeobj = PHPExcel_Shared_Date::ExcelToPHPObject($cellobj->getValue());
}

然后你可以使用 DateTime 对象的 format() 方法来格式化它,只要你想