fastadmin 导入Excel 将表格里的时间日期转换时间戳的方法

修改 applicationadminlibrarytraitsBackend.php import 方法

        for ($currentRow = 2; $currentRow <= $allRow; $currentRow++) {
            $values = [];
            for ($currentColumn = 0; $currentColumn < $maxColumnNumber; $currentColumn++) {
                $cell = $currentSheet->getCellByColumnAndRow($currentColumn,$currentRow);
                $val = $currentSheet->getCellByColumnAndRow($currentColumn, $currentRow)->getValue();
                if($cell->getDataType()==\PHPExcel_Cell_DataType::TYPE_NUMERIC){  
                    $cellstyleformat = $cell->getStyle($cell->getCoordinate())
                    ->getNumberFormat();  

                    $formatcode = $cellstyleformat->getFormatCode(); 
                    
                    if (preg_match('/^(\[\$[A-Z]*-[0-9A-F]*\])*[hmsdy]/i', $formatcode)) {  
                   
                        $val =strtotime(gmdate("Y-m-d H:i:s", \PHPExcel_Shared_Date::ExcelToPHP($val)));  
                    }
                     
                }
                
                $values[] = is_null($val) ? '' : $val;
            }
            $row = [];
            $temp = array_combine($fields, $values);
            
            foreach ($temp as $k => $v) {
                if (isset($fieldArr[$k]) && $k !== '') {
                    $row[$fieldArr[$k]] = $v;
                }
            }
            if ($row) {
                $insert[] = $row;
            }
        }

image.png

查看更多

关注者
0
被浏览
433
3 个回答
丫蠻
丫蠻 2019-01-15
C#.JAVA.PYTHON.JAVASCRIPT.LUA.HTML5.BOOTSTRAP,都不会。

mark

llt19
llt19 2019-05-09
这家伙很懒,什么也没写!

chrome,提示:

Provisional headers are shown

adminlc
adminlc 5 days ago
这家伙很懒,什么也没写!

image.png

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览