相關mysql視頻教程推薦:《mysql教程》
數據導出已經有了,怎么能沒有數據導入呢,同樣使用TP5框架,首先需要下載
phpexcel.zip,放到第三方類庫目錄vendor目錄下,然后有一個頁面可以讓你選擇要導入的Excel文件,然后點擊導入按鈕調用接口:

我的模板內的數據如下圖:

后端接口代碼如下:
public function uplExcel(Request $request) if (!empty($_FILES[ excel ][ name ])) { $fileName = $_FILES[ excel ][ name //得到文件全名 $dotArray = explode( . , $fileName); //把文件名安.區分,拆分成數組 $type = end($dotArray); if ($type != xls $type != xlsx ) { $ret[ res ] = 0 $ret[ msg ] = 不是Excel文件,請重新上傳! return json_encode($ret); //取數組最后一個元素,得到文件類型 $uploaddir = ../uploads2/ . date( Y-m-d ) . / //設置文件保存目錄 注意包含 if (!file_exists($uploaddir)) { mkdir($uploaddir, 0777, true); $path = $uploaddir . md5(uniqid(rand())) . . . $type; //產生隨機文件名 //$path = images/ .$fileName; //客戶端上傳的文件名; //下面必須是tmp_name 因為是從臨時文件夾中移動 move_uploaded_file($_FILES[ excel ][ tmp_name ], $path); //從服務器臨時文件拷貝到相應的文件夾下 $file_path = $path; if (!file_exists($path)) { $ret[ res ] = 0 $ret[ msg ] = 上傳文件丟失! . $_FILES[ excel ][ error return json_encode($ret); //文件的擴展名 $ext = strtolower(pathinfo($path, PATHINFO_EXTENSION)); if ($ext == xlsx ) { $objReader = /PHPExcel_IOFactory::createReader( Excel2007 $objPHPExcel = $objReader- load($file_path, utf-8 } elseif ($ext == xls ) { $objReader = /PHPExcel_IOFactory::createReader( Excel5 $objPHPExcel = $objReader- load($file_path, utf-8 $sheet = $objPHPExcel- getSheet(0); $highestRow = $sheet- getHighestRow(); // 取得總行數 $highestColumn = $sheet- getHighestColumn(); // 取得總列數 $ar = array(); $i = 0; $importRows = 0; for ($j = 2; $j = $highestRow; $j++) { $importRows++; $realName = (string)$objPHPExcel- getActiveSheet()- getCell( A$j )- getValue();//需要導入的realName $phone = (string)$objPHPExcel- getActiveSheet()- getCell( B$j )- getValue(); //需要導入的phone $company = (string)$objPHPExcel- getActiveSheet()- getCell( C$j )- getValue(); //需要導入的company $job = (string)$objPHPExcel- getActiveSheet()- getCell( D$j )- getValue(); //需要導入的job $email = (string)$objPHPExcel- getActiveSheet()- getCell( E$j )- getValue(); //需要導入的email $ret[ mdata ] = $this- addMemb($phone, $realName, $company, $job, $email);//這里就是我的數據庫添加操作定義的一個方法啦,對應替換為自己的 if ($ret[ mdata ] !is_Bool($ret[ mdata ])) { $ar[$i] = $ret[ mdata $i++; if ($i 0) { $ret[ res ] = 0 $ret[ errNum ] = $i; $ret[ allNum ] = $importRows; $ret[ sucNum ] = $importRows - $i; $ret[ mdata ] = $ar; $ret[ msg ] = 導入完畢! return json_encode($ret); $ret[ res ] = 1 $ret[ allNum ] = $importRows; $ret[ errNum ] = 0; $ret[ sucNum ] = $importRows; $ret[ mdata ] = 導入成功! return json_encode($ret); } else { $ret[ res ] = 0 $ret[ msg ] = 上傳文件失敗! return json_encode($ret); }
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !
相關推薦:
PHP讓數組中有相同值的組成新的數組實例講解
PHP中類靜態調用和范圍解析操作符之間的區別
以上就是PHP Excel導入數據到MySQL數據庫的方法的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答