研究了一下~方法不少~最後決定用Excel導入~在網上搜了很多這方面的資料,發現都是將excel文件另存為csv文件,然後從csv文件導入。這裡介紹一個直接將excel檔案匯入mysql的例子。我花了一整晚的時間測試,無論導入簡繁體都不會出現亂碼,非常好用。
PHP-ExcelReader,下載位址: http://sourceforge.net/projects/phpexcelreader
說明:
PHP將EXCEL匯入MYSQL的測試環境:MYSQL資料庫採用utf8編碼.EXCEL文件是xlsEXCEL文檔是xls格式,經過測試,xlsx 格式[excel 2007]也OK.
請替換成你配置好的數據,如資料庫配置等。運行http://localost/test.php實作導入。
以下是我貼出的詳細程式碼,其中test.php為我寫的測試文件,reader.php和oleread.inc文件是從上面提供的網址下載的。
1. PHP將EXCEL導入MYSQL的程式碼範例test.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 sheets[0]['numRows']; $i++) {
//以下註解的for循環列印excel表資料
/*
for ($j = 1; $j 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.'';
$res = mysql_query($sql);
}
?>
這裡下載phpexcelreader
以上就介紹了導入EXCEL PHP導入Excel到MySQL的方法,包括了導入EXCEL方面的內容,希望對PHP教學有興趣的朋友有幫助。