我有以下代码用于从.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;
此处返回日期&#39; mm-dd-yyyy&#39;在任何日期以任何格式提供格式。我实际上需要验证日期应该在&#39; dd-mm-yyyy&#39;。
答案 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()方法对其进行格式设置