下面小編就為大家帶來一篇PHP使用PHPExcel實作批次上傳到資料庫的方法。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧
此範例只使用execel2003的.xls文件,若使用的是其他版本,可以保存格式為「Execel 97-2003 工作簿(*.xls)」即. xls檔案類型即可!
功能說明:只能上傳Excel2003類型的xls文件,大小不超過5M。可下載範例範本新增資料後即可上傳!
前台test.php頁面
#運行結果:
後台Process.php頁面
alert(您未选择表格);history.go(-1);"; } //获取表格的大小,限制上传表格的大小5M $file_size = $_FILES['myfile']['size']; if ($file_size>5*1024*1024) { echo ""; exit(); } //限制上传表格类型 $file_type = $_FILES['myfile']['type']; //application/vnd.ms-excel 为xls文件类型 if ($file_type!='application/vnd.ms-excel') { echo ""; exit(); } //判断表格是否上传成功 if (is_uploaded_file($_FILES['myfile']['tmp_name'])) { require_once 'PHPExcel.php'; require_once 'PHPExcel/IOFactory.php'; require_once 'PHPExcel/Reader/Excel5.php'; //以上三步加载phpExcel的类 $objReader = PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format //接收存在缓存中的excel表格 $filename = $_FILES['myfile']['tmp_name']; $objPHPExcel = $objReader->load($filename); //$filename可以是上传的表格,或者是指定的表格 $sheet = $objPHPExcel->getSheet(0); $highestRow = $sheet->getHighestRow(); // 取得总行数 // $highestColumn = $sheet->getHighestColumn(); // 取得总列数 //循环读取excel表格,读取一条,插入一条 //j表示从哪一行开始读取 从第二行开始读取,因为第一行是标题不保存 //$a表示列号 for($j=2;$j<=$highestRow;$j++) { $a = $objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue();//获取A(业主名字)列的值 $b = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();//获取B(密码)列的值 $c = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue();//获取C(手机号)列的值 $d = $objPHPExcel->getActiveSheet()->getCell("D".$j)->getValue();//获取D(地址)列的值 //null 为主键id,自增可用null表示自动添加 $sql = "INSERT INTO house VALUES(null,'$a','$b','$c','$d')"; // echo "$sql"; // exit(); $res = mysql_query($sql); if ($res) { echo ""; }else{ echo ""; exit(); } } } } //调用 upExecel(); ?>
#效果為:若未選擇要上傳的文件,會提示「未選擇表格」;若表格文件超過5M,提示;若上傳的文件類型不是xls,會提示!
以上這篇PHP使用PHPExcel實現批次上傳到資料庫的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
以上是PHP使用PHPExcel批次上傳到資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!