在網上搜了很多這方面的資料,發現都是將excel檔案另存新檔csv檔案,然後從csv檔案匯入。這裡介紹一個直接將excel檔案匯入mysql的例子。我花了一晚上的時間測試,無論匯入簡繁體都不會出現亂碼,非常好用。
PHP-ExcelReader,下載地址: http://sourceforge.net/projects/phpexcelreader
說明:
PHP將EXCEL匯入MYSQL的測試環境:MYSQL資料庫採用utf8編碼.匯入EXCEL文檔是xls格式,經過測試,xlsx 格式[excel 2007]也OK.
文中紅色標註為需要注意的地方,請替換成你配置好的資料,如資料庫配置等。運行http://localost/test.php實現匯入。
以下是我貼出的詳細代碼,其中test.php為我寫的測試檔案,reader.php和oleread.inc檔案是從上面提供的網址中下載的。
1. PHP將EXCEL匯入MYSQL的程式碼範例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);
- }
- ?>
以上就是PHP將EXCEL匯入MYSQL的相關方法介紹,希望多又需要的朋友有所協助。
http://www.bkjia.com/PHPjc/446270.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/446270.htmlTechArticle在網上搜了很多這方面的資料,發現都是將excel檔案另存新檔csv檔案,然後從csv檔案匯入。這裡介紹一個直接將excel檔案匯入mysql的例子。我花...