如何通过PHP将excel的数据导入MySQL中
生活随笔
收集整理的這篇文章主要介紹了
如何通过PHP将excel的数据导入MySQL中
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在開發(fā)PHP程序時(shí),很多時(shí)候我們會(huì)有將數(shù)據(jù)批量導(dǎo)入數(shù)據(jù)庫(kù)的需求,如學(xué)生信息批量添加到數(shù)據(jù)庫(kù)中,而事先用excel編排好,對(duì)excel實(shí)行操作,便是我們比較常用的選擇方式。
在對(duì)excel的操作中,phpExcelReade便是很多人的共同選擇。在具體實(shí)現(xiàn)中,我們可以以文件上傳方式將excel文件上傳到服務(wù)器中的某個(gè)位置,通過以下操作將excel中的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫(kù)后,在將上傳的文件刪除即可。
?
代碼如下:
?
$dir=dirname(__FILE__); //獲取當(dāng)前腳本的絕對(duì)路徑 $dir=str_replace(“//”,”/”,$dir).”/”;$filename=’uploadFile.xls'; //可以定義一個(gè)上傳后的文件名稱 $result=move_uploaded_file($_FILES[‘upload’][‘tmp_name’],$dir.$filename);//假如上傳到當(dāng)前目錄下 if($result) //如果上傳文件成功,就執(zhí)行導(dǎo)入excel操作 { require_once ‘phpExcelReader/Excel/reader.php'; $data = new Spreadsheet_Excel_Reader(); $data->setOutputEncoding(‘utf-8′);//設(shè)置在頁(yè)面中輸出的編碼方式,而不是utf8//該方法會(huì)自動(dòng)判斷上傳的文件格式,不符合要求會(huì)顯示錯(cuò)誤提示信息(錯(cuò)誤提示信息在該方法內(nèi)部)。 $data->read(“$filename”); //讀取上傳到當(dāng)前目錄下名叫$filename的文件error_reporting(E_ALL ^ E_NOTICE); //如果excel表帶標(biāo)題,則從$i=2開始,去掉excel表中的標(biāo)題部分(要將$i<=改為$i<否則會(huì)插入一條多余的空數(shù)據(jù)) 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].”‘,'”. //學(xué)號(hào) $data->sheets[0][‘cells’][$i][2].”‘,'”. //班級(jí) $data->sheets[0][‘cells’][$i][3].”‘,'”. //姓名 $data->sheets[0][‘cells’][$i][4].”‘,'”. //性別 $data->sheets[0][‘cells’][$i][5].”‘,'”. //班內(nèi)序號(hào) $data->sheets[0][‘cells’][$i][6].”‘,'”. //聯(lián)系電話 $data->sheets[0][‘cells’][$i][7].”‘,'”. //聯(lián)系地址 $data->sheets[0][‘cells’][$i][8].”‘)”; //附注$db->query($sql); $insert_info.= ” $sql</br>/n”; //可以用來顯示數(shù)據(jù)插入的信息} $totalNums=$data->sheets[0][‘numRows’]-2;//求出導(dǎo)入的總數(shù)據(jù)條數(shù)(這里是減去2,才會(huì)得到去除標(biāo)題后的總數(shù)據(jù)) //echo “導(dǎo)入成功!”; unlink(“$filename”); //刪除上傳的excel文件} else { $errmsg=”上傳失敗”; }?
轉(zhuǎn)載于:https://www.cnblogs.com/dest/p/4203913.html
總結(jié)
以上是生活随笔為你收集整理的如何通过PHP将excel的数据导入MySQL中的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】linux下tcp测试工具
- 下一篇: mysql条件触发器实例_mysql 触