實現excel中的內容到mysql 數據庫 。
excel中的內容到mysql 數據庫步驟:
一:下載地址 : http://sourceforge.net/projects/phpexcelreader/
1:下載下來有個 “phpExcelReader.zip”的壓縮包。解壓,我們需要的只有 Excel 文件夾的內容,首先把 “oleread.inc” 改爲 “OLERead.php”,還有得 修改 “reader.php” 這個文件:
修改第第31行 require_once 'Spreadsheet/Excel/Reader/OLERead.php';
改爲 ” : require_once 'OLERead.php';
第 261行 =& 改爲 = 號就 OK 了
二:簡單實例操作:
1: 首先我在數據庫中 建立了一個 excel 的表 ,字段是 id 和 tel 存取電話號碼(呆會要從excel表中讀取插入到裏面去的)
2:copy 我們下載下來的 操作文件(上面我們修改的那兩個文件),"OLERead.php" 和 "reader.php" 放到我們http目錄下,
OK ,現在我們在和兩個文件的同級目錄下建立一個 aaa.php (讀取excel)的文件,同時也建立一個aaa.xls 的文件,裏面內容就是
比如是這樣的
OK,現在我們來寫 aaa.php 的讀取該 excel文件中的內容到數據庫,代碼如下:
- require_once 'reader.php'; //加載引用操作excel的類
- $data = new Spreadsheet_Excel_Reader(); //實例化
- $data->setOutputEncoding('gbk'); //編碼
- $data->read('aaa.xls'); //讀取的文件
- $conn= mysql_connect('localhost','root','') or die("連接錯");
- mysql_query("set names 'gbk'");//設置編碼輸出
- mysql_select_db('haozi'); //選擇數據庫
- for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
- $sql = "INSERT INTO excel VALUES(null,'".$data>sheets[0]['cells'][$i][1]."')";
- echo $sql.'<br />';
- mysql_query($sql);
- }
- //注意:
- for $i=1 是從表的第一行開始,如果第一行是文字說明,那麼$i=2
- $data>sheets[0]['cells'][$i][1] 代表讀取表中的第一個列,如果要取得二個就是 $data>sheets[0]['cells'][$i][2](但要和數據庫中字段數一致)
以下爲優化代碼,新增加可以瀏覽選擇文件的操作
- <form id="form1" name="form1" method="post" action="">
- <label>
- <input name="file" type="file" id="file13"/>
- <input type="submit" name="Submit" value="提交" />
- </label>
- </form>
- <p>
- <?php
- require_once 'reader.php';
- $data = new Spreadsheet_Excel_Reader();
- $data->setOutputEncoding('gbk');
- $conn= mysql_connect('localhost','root','haozi') or die("Can not connect to database.");
- mysql_query("set names 'gbk'");//設置編碼輸出
- mysql_select_db('haozi'); //選擇數據庫
- if($_POST['Submit'])
- {
- $data->read($_POST['file']);
- for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
- $sql = "INSERT INTO excel VALUES(null,'".$data->sheets[0]['cells'][$i][1]."')";
- $query=mysql_query($sql);
- if($query)
- {
- echo "<mce:script type="text/javascript"><!--
- alert('數據已經提交成功');window.top.location='a.php'
- // --></mce:script>";
- }else{
- echo "<mce:script type="text/javascript"><!--
- alert('數據已經提交失敗');window.top.location='a.php'
- // --></mce:script>";
- }
- }
- }
- ?>
圖:
OK 執行 aaa.php 就可以查看數據已經到 mysql 數據庫中去了