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

时间:2015-06-19 07:04:22

标签: php phpexcel

我有以下代码用于从.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();
                    
                }
            }
        }
&#13;
&#13;
&#13;

此处返回日期&#39; mm-dd-yyyy&#39;在任何日期以任何格式提供格式。我实际上需要验证日期应该在&#39; dd-mm-yyyy&#39;。

1 个答案:

答案 0 :(得分:1)

而不是使用

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 object's format()方法对其进行格式设置