我有以下代码用于从.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() 方法来格式化它,只要你想