為了減少錄入信息的工作 需多程序都會使用導入一個Excel文件 來解決此問題 簡單記錄下操作過程 方便自己以后查看 準備工作 測試環境 Apache2.2 5.3.28 mysql 5.5 win7 測試過程中文件 在根目錄下 phpexcelreader官方下載 下載完畢 解壓拷貝文件夾到 根目錄下
為了減少錄入信息的工作 需多程序都會使用導入一個Excel文件 來解決此問題 簡單記錄下操作過程 方便自己以后查看
準備工作
測試環境 Apache2.2 5.3.28 mysql 5.5 win7
測試過程中文件 在根目錄下
phpexcelreader官方下載
下載完畢 解壓拷貝文件夾到 根目錄下
下載完畢后導入文件的過程中 需要注意2個地方 不難找到
這是由于php5.3開始后,廢除了php中的”=&”符號,所以要想復制,直接用=引用即可。將reader.php文件中的 $this->_ole =& new OLERead(); 替換成 $this->_ole = new OLERead();
Undefined variable: formatstr in xxx
在reader.php中第634行附近找到if ($formatstr),替換成 if (isset($formatstr))
下面是test.php的代碼
header("Content-type:text/html;charset=gb2312"); require "/Excel/reader.php"; $xl_reader= new Spreadsheet_Excel_Reader(); $xl_reader->setOutputEncoding('gb2312'); $xl_reader->read("dbtest2.xls"); $xl_reader->sheets[0]['numRows']; $xl_reader->sheets[0]['numCols']; $xl_reader->sheets[0]['cells'][3][4]; $con=mysql_connect('localhost','root','') or die('連接出錯'); mysql_select_db('tempgb2312'); mysql_query('set names gb2312'); $addtime=time(); $arr=array(); for($i=2;$i<=$xl_reader->sheets[0]['numRows'];$i++){ //數據條數$xl_reader->sheets[0]['numRows'] $sql="insert into user(user,name,iphone,email,addtime)value(". "'".$xl_reader->sheets[0]['cells'][$i][1]."'".",". "'".$xl_reader->sheets[0]['cells'][$i][2]."'".",". "'".$xl_reader->sheets[0]['cells'][$i][3]."'".",". "'".$xl_reader->sheets[0]['cells'][$i][4]."'".",". $addtime.")"; $arr[$i]=$sql; //可以替換成插入方法 } var_dump($arr);
數據庫為tempgb2312 編碼是gb2312
表為
注意編碼的設置 還有Excel的文件格式 保存類型為 microsoft excel 97-2003
歡迎大家 一起交流學習
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com