html代碼:php
<html> <head> <title>上傳EXCEL文件</title> </head> <body> <form action="{:U('phpexcel')}" method="post" enctype="multipart/form-data">//文件上傳執行方法 <!-- <input name="excelfile" type="file" value=""/> <input type="submit" value="上傳" name=""/> --> <h3>導入員工信息Excel表:</h3><input type="file" name="file_stu" /> <input type="submit" value="導入" /> </form> </body> </html>
php代碼:html
public function add(){ $this->display(); } public function phpexcel(){ $upload = new \Think\Upload();// 實例化上傳類 $upload->maxSize = 8145728 ;// 設置附件上傳大小 if (! empty ( $_FILES ['file_stu'] ['name'] )){ $tmp_file = $_FILES ['file_stu'] ['tmp_name']; $file_types = explode ( ".", $_FILES ['file_stu'] ['name'] ); $file_type = $file_types [count ( $file_types ) - 1]; /*判別是否是.xls文件,判別是否是excel文件*/ if (strtolower ( $file_type ) != "xls"){ $this->error ( '不是Excel文件,從新上傳' ); } $upload->rootPath = './Excel/'; // 設置附件上傳根目錄 // 上傳單個文件 $info = $upload->uploadOne($_FILES['file_stu']); $file="./Excel/" .$info['savepath'].$info['savename']; vendor("PHPExcel.PHPExcel"); $shared = new \PHPExcel_Shared_Date();//時間格式轉換方法 $objReader = \PHPExcel_IOFactory::createReader('Excel5'); $objPHPExcel = $objReader->load($file,$encode='utf-8'); $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); // 取得總行數 $highestColumn = $sheet->getHighestColumn(); // 取得總列數 for($i=2;$i<=$highestRow;$i++) { $data['userid'] = $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue(); $data['name'] = $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue(); $data['center'] = $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue(); $data['dep'] = $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue(); $data['post'] = $objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue(); $data['sex'] = $objPHPExcel->getActiveSheet()->getCell("F".$i)->getValue(); $data['phone'] = $objPHPExcel->getActiveSheet()->getCell("G".$i)->getValue(); $data['entrydate'] = gmdate("Y-m-d", $shared->ExcelToPHP($objPHPExcel->getActiveSheet()->getCell("H".$i)->getValue())); $data['ourage'] = $objPHPExcel->getActiveSheet()->getCell("I".$i)->getValue(); $data['meetdate'] =gmdate("Y-m-d", $shared->ExcelToPHP( $objPHPExcel->getActiveSheet()->getCell("J".$i)->getValue())); $data['gettime'] =date("Y-m-d H:i:s"); $data['getuserid'] =session("userinfo.userid"); $result=$this->Model->add($data); } if ($result) { $this->success ( "導入成功!" ); }else{ $error = $this->Model->getError (); $this->error ( $error ? $error : "導入失敗!" ); } }else{ $this->error ( $error ? $error : "請選擇Excel文件!" ); } }