PHP導(dǎo)入Excel到MySQL的方法
更新時間:2011年04月23日 00:08:14 作者:
最近在做一個系統(tǒng)的重構(gòu)~之前它導(dǎo)入用戶名和密碼都是要手工黏貼到數(shù)據(jù)庫的~所以想直接用Excel導(dǎo)入,方便用戶操作。
研究了一下~方法不少~最后決定用Excel導(dǎo)入~在網(wǎng)上搜了很多這方面的資料,發(fā)現(xiàn)都是將excel文件另存為csv文件,然后從csv文件導(dǎo)入。這里介紹一個直接將excel文件導(dǎo)入mysql的例子。我花了一晚上的時間測試,無論導(dǎo)入簡繁體都不會出現(xiàn)亂碼,非常好用。
PHP-ExcelReader,下載地址: http://sourceforge.net/projects/phpexcelreader
說明:
PHP將EXCEL導(dǎo)入MYSQL的測試環(huán)境:MYSQL數(shù)據(jù)庫采用utf8編碼.導(dǎo)入EXCEL文檔是xls格式,經(jīng)過測試,xlsx 格式[excel 2007]也OK.
請?zhí)鎿Q成你配置好的數(shù)據(jù),如數(shù)據(jù)庫配置等。運行http://localost/test.php實現(xiàn)導(dǎo)入。
以下是我貼出的詳細代碼,其中test.php為我寫的測試文件,reader.php和oleread.inc文件是從上面提供的網(wǎng)址中下載的。
1. PHP將EXCEL導(dǎo)入MYSQL的代碼示例test.php
< ?php
require_once 'reader.php'; // ExcelFile($filename, $encoding); $data = new Spreadsheet_Excel_Reader(); // Set output Encoding. $data->setOutputEncoding('gbk');
//”data.xls”是指要導(dǎo)入到mysql中的excel文件
$data->read('data.xls');
@ $db = mysql_connect('localhost', 'root', '123456') or
die("Could not connect to database.");//連接數(shù)據(jù)庫
mysql_query("set names 'gbk'");//輸出中文
mysql_select_db('mydb'); //選擇數(shù)據(jù)庫
error_reporting(E_ALL ^ E_NOTICE);
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
//以下注釋的for循環(huán)打印excel表數(shù)據(jù)
/*
for ($j = 1; $j < = $data->sheets[0]['numCols']; $j++) {
echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
echo "\n";
*/
//以下代碼是將excel表數(shù)據(jù)【3個字段】插入到mysql中,
根據(jù)你的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導(dǎo)入MYSQL的相關(guān)方法介紹,希望多又需要的朋友有所幫助。
但是發(fā)現(xiàn)他class里面的文件有點問題,修改了之后就正常了~可以到
PHP-ExcelReader,下載地址: http://sourceforge.net/projects/phpexcelreader
說明:
PHP將EXCEL導(dǎo)入MYSQL的測試環(huán)境:MYSQL數(shù)據(jù)庫采用utf8編碼.導(dǎo)入EXCEL文檔是xls格式,經(jīng)過測試,xlsx 格式[excel 2007]也OK.
請?zhí)鎿Q成你配置好的數(shù)據(jù),如數(shù)據(jù)庫配置等。運行http://localost/test.php實現(xiàn)導(dǎo)入。
以下是我貼出的詳細代碼,其中test.php為我寫的測試文件,reader.php和oleread.inc文件是從上面提供的網(wǎng)址中下載的。
1. PHP將EXCEL導(dǎo)入MYSQL的代碼示例test.php
復(fù)制代碼 代碼如下:
< ?php
require_once 'reader.php'; // ExcelFile($filename, $encoding); $data = new Spreadsheet_Excel_Reader(); // Set output Encoding. $data->setOutputEncoding('gbk');
//”data.xls”是指要導(dǎo)入到mysql中的excel文件
$data->read('data.xls');
@ $db = mysql_connect('localhost', 'root', '123456') or
die("Could not connect to database.");//連接數(shù)據(jù)庫
mysql_query("set names 'gbk'");//輸出中文
mysql_select_db('mydb'); //選擇數(shù)據(jù)庫
error_reporting(E_ALL ^ E_NOTICE);
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
//以下注釋的for循環(huán)打印excel表數(shù)據(jù)
/*
for ($j = 1; $j < = $data->sheets[0]['numCols']; $j++) {
echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
echo "\n";
*/
//以下代碼是將excel表數(shù)據(jù)【3個字段】插入到mysql中,
根據(jù)你的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導(dǎo)入MYSQL的相關(guān)方法介紹,希望多又需要的朋友有所幫助。
但是發(fā)現(xiàn)他class里面的文件有點問題,修改了之后就正常了~可以到
您可能感興趣的文章:
- PHP讀取Excel內(nèi)的圖片(phpspreadsheet和PHPExcel擴展庫)
- 利用phpExcel實現(xiàn)Excel數(shù)據(jù)的導(dǎo)入導(dǎo)出(全步驟詳細解析)
- PHPExcel讀取Excel文件的實現(xiàn)代碼
- php讀取EXCEL文件 php excelreader讀取excel文件
- php導(dǎo)入導(dǎo)出excel實例
- ThinkPHP使用PHPExcel實現(xiàn)Excel數(shù)據(jù)導(dǎo)入導(dǎo)出完整實例
- php中使用PHPExcel讀寫excel(xls)文件的方法
- php生成excel文件的簡單方法
- phpExcel導(dǎo)出大量數(shù)據(jù)出現(xiàn)內(nèi)存溢出錯誤的解決方法
- php中導(dǎo)出數(shù)據(jù)到excel時數(shù)字變?yōu)榭茖W(xué)計數(shù)的解決方法
- PHP上傳Excel文件導(dǎo)入數(shù)據(jù)到MySQL數(shù)據(jù)庫示例
- 基于PHPExcel的常用方法總結(jié)
- PHP使用PhpSpreadsheet操作Excel實例詳解
相關(guān)文章
DedeCMS 核心類TypeLink.class.php摘要筆記
DedeCMS 核心類TypeLink.class.php摘要筆記,學(xué)習php就是借鑒與分析,讓自己的掌握的更多。2010-04-04