1.上github下載PHPExcel,鏈接:https://github.com/PHPOffice/PHPExcel
2.下載解壓后,將Classes改名為PHPExcel如圖
3.將文件夾復制到項目內extend
4.html代碼
<form method="post" action="/admin/pos/posImport" class="form-signin" enctype="multipart/form-data" role="form" id="form" > <input name="excel" type="file" class="form-control excel_path"> <input type="submit" value="導入Excel" class="btn btn-lg btn-primary btn-block"> </form>
5.php代碼,tp5.1取消了vendor和import
//上傳excel文件 $file = request()->file('excel'); //將文件保存到public/uploads目錄下面 $info = $file->validate(['size'=>1048576,'ext'=>'xls,xlsx'])->move( './uploads'); if($info){ //獲取上傳到后台的文件名 $fileName = $info->getSaveName(); //獲取文件路徑 $filePath = Env::get('root_path').'public'.DIRECTORY_SEPARATOR.'uploads'.DIRECTORY_SEPARATOR.$fileName; //獲取文件后綴 $suffix = $info->getExtension(); //判斷哪種類型 if($suffix=="xlsx"){ $reader = \PHPExcel_IOFactory::createReader('Excel2007'); }else{ $reader = PHPExcel_IOFactory::createReader('Excel5'); } }else{ $this->error('文件過大或格式不正確導致上傳失敗-_-!'); } //載入excel文件 $excel = $reader->load("$filePath",$encode = 'utf-8'); //讀取第一張表 $sheet = $excel->getSheet(0); //獲取總行數 $row_num = $sheet->getHighestRow(); //獲取總列數 $col_num = $sheet->getHighestColumn(); $data = []; //數組形式獲取表格數據 for ($i = 2; $i <= $row_num; $i ++) { $data[$i]['code'] = $sheet->getCell("A".$i)->getValue(); $data[$i]['last_code'] = substr($sheet->getCell("A".$i)->getValue(),-6); $time = date('Y-m-d H:i',\PHPExcel_Shared_Date::ExcelToPHP($sheet->getCell("B".$i)->getValue()));//將excel時間改成可讀時間 $data[$i]['time'] = strtotime($time); //將數據保存到數據庫 } $res = Db::name('pos_code')->insertAll($data);
如此便可以導入表格了,導出表格晚些更新