程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> PHP實現將EXCEL文件導入到MYSQL

PHP實現將EXCEL文件導入到MYSQL

編輯:MySQL綜合教程

  幫客之家(www.Bkjia.com)PHP教程 最近因項目需求,要實現將excel文件通過php頁面導入mysql數據庫中。在網上搜了很多這方面的資料,發現都是將excel文件另存為csv文件,然後從csv文件導入。這裡介紹一個直接將excel文件導入mysql的例子。我花了一晚上的時間測試,無論導入簡繁體都不會出現亂碼,非常好用。

  PHP-ExcelReader,下載地址: http://sourceforge.net/projects/phpexcelreader

  說明:

  測試環境:MYSQL數據庫采用utf8編碼.導入EXCEL文檔是xls格式,經過測試,xlsx 格式[excel 2007]也OK.

  文中紅色標注為需要注意的地方,請替換成你配置好的數據,如數據庫配置等。運行http://localost/test.php實現導入。

  以下是我貼出的詳細代碼,其中test.php為我寫的測試文件,reader.php和oleread.inc文件是從上面提供的網址中下載的。

  1. test.php

以下為引用的內容:

  <?php

  require_once 'reader.php';

  // ExcelFile($filename, $encoding);

  $data = new Spreadsheet_Excel_Reader();

  // Set output Encoding.

  $data->setOutputEncoding('gbk');

  //”data.xls”是指要導入到mysql中的excel文件

  $data->read('data.xls');

  @ $db = mysql_connect('localhost', 'root', '123456') or

   die("Could not connect to database.");//連接數據庫

  mysql_query("set names 'gbk'");//輸出中文

  mysql_select_db('mydb'); //選擇數據庫

  error_reporting(E_ALL ^ E_NOTICE);

  for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {

  //以下注釋的for循環打印excel表數據

  /*

  for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {

   echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";

   }

   echo "\n";

  */

  //以下代碼是將excel表數據【3個字段】插入到mysql中,根據你的excel表字段的多少,改寫以下代碼吧!

   $sql = "INSERT INTO test VALUES('".

   $data->sheets[0]['cells'][$i][1]."','".

   $data->sheets[0]['cells'][$i][2]."','".

   $data->sheets[0]['cells'][$i][3]."')";

   echo $sql.'<br />';

   $res = mysql_query($sql);

  }

  ?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved