PHP導(dǎo)入Excel到MySQL的方法
更新時(shí)間:2011年04月23日 00:08:14 作者:
最近在做一個(gè)系統(tǒng)的重構(gòu)~之前它導(dǎo)入用戶名和密碼都是要手工黏貼到數(shù)據(jù)庫的~所以想直接用Excel導(dǎo)入,方便用戶操作。
研究了一下~方法不少~最后決定用Excel導(dǎo)入~在網(wǎng)上搜了很多這方面的資料,發(fā)現(xiàn)都是將excel文件另存為csv文件,然后從csv文件導(dǎo)入。這里介紹一個(gè)直接將excel文件導(dǎo)入mysql的例子。我花了一晚上的時(shí)間測(cè)試,無論導(dǎo)入簡(jiǎn)繁體都不會(huì)出現(xiàn)亂碼,非常好用。
PHP-ExcelReader,下載地址: http://sourceforge.net/projects/phpexcelreader
說明:
PHP將EXCEL導(dǎo)入MYSQL的測(cè)試環(huán)境:MYSQL數(shù)據(jù)庫采用utf8編碼.導(dǎo)入EXCEL文檔是xls格式,經(jīng)過測(cè)試,xlsx 格式[excel 2007]也OK.
請(qǐng)?zhí)鎿Q成你配置好的數(shù)據(jù),如數(shù)據(jù)庫配置等。運(yùn)行http://localost/test.php實(shí)現(xiàn)導(dǎo)入。
以下是我貼出的詳細(xì)代碼,其中test.php為我寫的測(cè)試文件,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個(gè)字段】插入到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里面的文件有點(diǎn)問題,修改了之后就正常了~可以到
PHP-ExcelReader,下載地址: http://sourceforge.net/projects/phpexcelreader
說明:
PHP將EXCEL導(dǎo)入MYSQL的測(cè)試環(huán)境:MYSQL數(shù)據(jù)庫采用utf8編碼.導(dǎo)入EXCEL文檔是xls格式,經(jīng)過測(cè)試,xlsx 格式[excel 2007]也OK.
請(qǐng)?zhí)鎿Q成你配置好的數(shù)據(jù),如數(shù)據(jù)庫配置等。運(yùn)行http://localost/test.php實(shí)現(xiàn)導(dǎo)入。
以下是我貼出的詳細(xì)代碼,其中test.php為我寫的測(cè)試文件,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個(gè)字段】插入到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里面的文件有點(diǎn)問題,修改了之后就正常了~可以到
您可能感興趣的文章:
- PHP讀取Excel內(nèi)的圖片(phpspreadsheet和PHPExcel擴(kuò)展庫)
- 利用phpExcel實(shí)現(xiàn)Excel數(shù)據(jù)的導(dǎo)入導(dǎo)出(全步驟詳細(xì)解析)
- PHPExcel讀取Excel文件的實(shí)現(xiàn)代碼
- php讀取EXCEL文件 php excelreader讀取excel文件
- php導(dǎo)入導(dǎo)出excel實(shí)例
- ThinkPHP使用PHPExcel實(shí)現(xiàn)Excel數(shù)據(jù)導(dǎo)入導(dǎo)出完整實(shí)例
- php中使用PHPExcel讀寫excel(xls)文件的方法
- php生成excel文件的簡(jiǎn)單方法
- phpExcel導(dǎo)出大量數(shù)據(jù)出現(xiàn)內(nèi)存溢出錯(cuò)誤的解決方法
- php中導(dǎo)出數(shù)據(jù)到excel時(shí)數(shù)字變?yōu)榭茖W(xué)計(jì)數(shù)的解決方法
- PHP上傳Excel文件導(dǎo)入數(shù)據(jù)到MySQL數(shù)據(jù)庫示例
- 基于PHPExcel的常用方法總結(jié)
- PHP使用PhpSpreadsheet操作Excel實(shí)例詳解
相關(guān)文章
PHP最常用的2種設(shè)計(jì)模式工廠模式和單例模式介紹
當(dāng)你在不斷的試圖從你的應(yīng)用程序中發(fā)現(xiàn)新的特征時(shí),你是否發(fā)現(xiàn)你提出的解決方法和一些以前你已經(jīng)實(shí)現(xiàn)的東西是如此的類似呢2012-08-08DedeCMS 核心類TypeLink.class.php摘要筆記
DedeCMS 核心類TypeLink.class.php摘要筆記,學(xué)習(xí)php就是借鑒與分析,讓自己的掌握的更多。2010-04-04淺析PHP數(shù)據(jù)導(dǎo)出知識(shí)點(diǎn)
本文是小編整理的關(guān)于PHP數(shù)據(jù)導(dǎo)出知識(shí)點(diǎn)的總結(jié)內(nèi)容,分析了經(jīng)常出現(xiàn)的問題,以及解決辦法,有興趣的朋友可以參考學(xué)習(xí)下。2018-02-02修改PHP腳本使WordPress攔截垃圾評(píng)論的方法示例
這篇文章主要介紹了修改PHP腳本使WordPress攔截垃圾評(píng)論的方法示例,主要是通過修改主題的functions.php來實(shí)現(xiàn)相關(guān)功能,需要的朋友可以參考下2015-12-12