在開發PHP程序時,不少時候咱們會有將數據批量導入數據庫的需求,如學生信息批量添加到數據庫中,而事先用excel編排好,對excel實行操做,即是咱們比較經常使用的選擇方式。php
在對excel的操做中,phpExcelReade即是不少人的共同選擇。在具體實現中,咱們能夠以文件上傳方式將excel文件上傳到服務器中的某個位置,經過如下操做將excel中的數據導入到數據庫後,在將上傳的文件刪除便可。sql
代碼以下:數據庫
$dir=dirname(__FILE__); //獲取當前腳本的絕對路徑 $dir=str_replace(「//」,」/」,$dir).」/」; $filename=’uploadFile.xls'; //能夠定義一個上傳後的文件名稱 $result=move_uploaded_file($_FILES[‘upload’][‘tmp_name’],$dir.$filename);//假如上傳到當前目錄下 if($result) //若是上傳文件成功,就執行導入excel操做 { require_once ‘phpExcelReader/Excel/reader.php'; $data = new Spreadsheet_Excel_Reader(); $data->setOutputEncoding(‘utf-8′);//設置在頁面中輸出的編碼方式,而不是utf8 //該方法會自動判斷上傳的文件格式,不符合要求會顯示錯誤提示信息(錯誤提示信息在該方法內部)。 $data->read(「$filename」); //讀取上傳到當前目錄下名叫$filename的文件 error_reporting(E_ALL ^ E_NOTICE); //若是excel錶帶標題,則從$i=2開始,去掉excel表中的標題部分(要將$i<=改成$i<不然會插入一條多餘的空數據) for ($i = 2; $i < $data->sheets[0][‘numRows’]; $i++) { $sql = 「INSERT INTO user (stuid,class,name,sex,classNum,tel,addr,remark) VALUES(‘」. $data->sheets[0][‘cells’][$i][1].」‘,'」. //學號 $data->sheets[0][‘cells’][$i][2].」‘,'」. //班級 $data->sheets[0][‘cells’][$i][3].」‘,'」. //姓名 $data->sheets[0][‘cells’][$i][4].」‘,'」. //性別 $data->sheets[0][‘cells’][$i][5].」‘,'」. //班內序號 $data->sheets[0][‘cells’][$i][6].」‘,'」. //聯繫電話 $data->sheets[0][‘cells’][$i][7].」‘,'」. //聯繫地址 $data->sheets[0][‘cells’][$i][8].」‘)」; //附註 $db->query($sql); $insert_info.= 」 $sql</br>/n」; //能夠用來顯示數據插入的信息 } $totalNums=$data->sheets[0][‘numRows’]-2;//求出導入的總數據條數(這裏是減去2,纔會獲得去除標題後的總數據) //echo 「導入成功!」; unlink(「$filename」); //刪除上傳的excel文件 } else { $errmsg=」上傳失敗」; }