国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

PHP把excel(xls)文件導(dǎo)入mysql數(shù)據(jù)庫

2024-05-04 21:49:07
字體:
供稿:網(wǎng)友

excel導(dǎo)入mysql數(shù)據(jù)庫我整理了兩種辦法,一種就是使用PHP-ExcelReader來導(dǎo)入,另一種是把excel轉(zhuǎn)換成csv文件直接使用php相關(guān)函數(shù)導(dǎo)入即可.

昨晚一個客戶聯(lián)系我做網(wǎng)站,提出的要求是需要把客戶提供的excel文件里面的數(shù)據(jù)導(dǎo)入到mysql數(shù)據(jù)庫,最常用的方法就是先把xls文件導(dǎo)出為csv格式的文件,然后在解析csv格式的文件導(dǎo)入到mysql數(shù)據(jù)庫。方法比較冗余,而且分好幾步進行,很不方便,斷橋殘雪今天介紹一種方法是直接跳過csv的中間環(huán)節(jié),直接把excel文件導(dǎo)入mysql數(shù)據(jù)庫。

首先我們需要下載PHP-ExcelReader這是一個開源的項目,主要是來解析excel的文件,下載地址:http://sourceforge.net/projects/phpexcelreader,下載之后解壓,主要用到excel文件夾里面的兩個文件reader.php和oleread.php,這個文件默認的是oleread.inc,不清楚為啥,一堆e文,沒看,直接改名即可.

在reader.php文件中找到以下類似代碼,第一行既是,改成正確的oleread.php路徑即可:require_once 'oleread.php';然后新建一個php文件引入reader.php,代碼如下:

  1. <?php  
  2. require_once 'Excel/reader.php';  
  3. $data = new Spreadsheet_Excel_Reader(); 
  4. $data->setOutputEncoding('gbk');//此處設(shè)置編碼,一般都是gbk模式 
  5.  
  6. $data->read('Book1.xls');//文件路徑111cn.net 
  7. //開源代碼Vevb.com 
  8. error_reporting(E_ALL ^ E_NOTICE); 
  9. //這里我就只循環(huán)輸出excel文件的內(nèi)容了,要入庫,只要把輸出的地方,寫一段mysql語句即可~ 
  10. for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) { 
  11.  for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) { 
  12.   echo """.$data->sheets[0]['cells'][$i][$j]."","
  13.  } 
  14.  echo "n"
  15. ?> 

注意:請不要使用PHP-ExcelReader壓縮包里面的xls進行測試,斷橋殘雪發(fā)現(xiàn),那個文件既是使用excel也打不開,所以是錯誤的.

斷橋殘雪使用上面的方法解析了一個1.4M的數(shù)據(jù),都顯示正常,所以大家可以放心使用.

phpexcel比較費資源,不過并不是所有的excel都能讀取,我們可以轉(zhuǎn)換成csv來操作.

首先確認你的數(shù)據(jù)庫是什么編碼的,以utf-8為例,你首先打開excel 文件,然后保存,選擇為另存為.csv文件,然后用文本編輯器打開.csv文件,另存為utf-8的csv,然后你寫php 可以使用php 的getcsv  打開,這樣確保你有的字段中含有,而導(dǎo)致解析錯誤,然后把解析的結(jié)果導(dǎo)入到數(shù)據(jù)庫中.

如果是csv格式的我就不必要這么麻煩了,代碼如下:

  1. <?php 
  2. //連接數(shù)據(jù)庫文件 m.survivalescaperooms.com 
  3. $connect=mysql_connect("localhost","admin","admin"or die("鏈接數(shù)據(jù)庫失敗!");  
  4. //連接數(shù)據(jù)庫(test)  
  5. mysql_select_db("testcg",$connector die (mysql_error()); 
  6.  
  7. $temp=file("test.csv");//連接EXCEL文件,格式為了.csv  
  8. for ($i=0;$i <count($temp);$i++)  
  9. {  
  10. $string=explode(",",$temp[$i]);//通過循環(huán)得到EXCEL文件中每行記錄的值  
  11. //將EXCEL文件中每行記錄的值插入到數(shù)據(jù)庫中  
  12. $q="insert into ceshi (name,num,dom) values('$string[0]','$string[1]','$string[2]');";  
  13. mysql_query($qor die (mysql_error()); 
  14.  
  15. if (!mysql_error());  
  16. {  
  17. echo " 成功導(dǎo)入數(shù)據(jù)!";  
  18. }  
  19. echo $string[4]."n";  
  20. unset($string);  
  21. }  
  22. ?>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 瑞安市| 江孜县| 丰城市| 涟水县| 嘉祥县| 西乌珠穆沁旗| 扎鲁特旗| 达日县| 炉霍县| 清河县| 太仆寺旗| 常州市| 漳平市| 广德县| 孝义市| 吉木萨尔县| 枣强县| 台南县| 宁安市| 九江县| 富川| 白玉县| 临潭县| 柳江县| 中西区| 定南县| 余江县| 都兰县| 简阳市| 中山市| 崇州市| 乐都县| 新野县| 大渡口区| 株洲县| 太谷县| 太谷县| 阜阳市| 永兴县| 赣榆县| 栾城县|