PHP通过phpspreadsheet导入Excel日期数据处理方法

2024-10-23php开发问题
287

PHP通过PhpSpreadsheet导入Excel日期,导入系统后,全部变为了4开头的几位数字,这是为什么呢?原因很简单,将Excel的时间设置问文本,我们就能看到该日期本来的数值,上图对应的数值为:

要怎么解决呢?进行数据转换就行,这里可以封装方法,或者用第三方的类,但我更推荐通过判断后再进行数据转换,方法如下:
$tempData['work_start_time'] = $sheet->getCellByColumnAndRow(6,$row)->getValue();
            // 这里对Excel的时间类型进行判断
            $type1 = strpos($tempData['work_start_time'], '/');
            $type2 = strpos($tempData['work_start_time'], '-');
            if($type1 || $type2){
                $tempData['work_start_time'] = $tempData['work_start_time'];
            }else{
                $tempData['work_start_time']=date('Y-m-d', ($tempData['work_start_time'] - 25569) * 24 * 3600);
            }
 
The End
PhpSpreadsheet

相关推荐

PHP通过phpspreadsheet导入Excel日期数据处理方法
PHP通过phpspreadsheet导入Excel日期,导入系统后,全部变为了4开头的几位数字,这是为什么呢?原因很简单,将Excel的时间设置问文本,我们就能看到该日期本来的数值,上图对应的数值为: 要怎么解决呢?进行数据转换就行,这里可以封装方法,或者用第三方的...
2024-10-23 php开发问题
287