PHP實(shí)現(xiàn)將EXCEL文件導(dǎo)入到MYSQL_MySQL教程
推薦:mysql導(dǎo)入數(shù)據(jù)庫(kù)文件最大限制的修改自己電腦上裝的WAMP,在導(dǎo)入數(shù)據(jù)庫(kù)比較大(大于2M)時(shí)遇到錯(cuò)誤,不能導(dǎo)入。 找到解決方法: php.ini配置文件中有三處地方需要改動(dòng): upload_max_filesize memory_limit post_max_size 這三個(gè)值都工具實(shí)際情況改下,重啟服務(wù)器以后,雖然導(dǎo)入時(shí)仍然顯示是 最大限制:2,04
最近因項(xiàng)目需求,要實(shí)現(xiàn)將excel文件通過(guò)php頁(yè)面導(dǎo)入mysql數(shù)據(jù)庫(kù)中。在網(wǎng)上搜了很多這方面的資料,發(fā)現(xiàn)都是將excel文件另存為csv文件,然后從csv文件導(dǎo)入。這里介紹一個(gè)直接將excel文件導(dǎo)入mysql的例子。我花了一晚上的時(shí)間測(cè)試,無(wú)論導(dǎo)入簡(jiǎn)繁體都不會(huì)出現(xiàn)亂碼,非常好用。
說(shuō)明:
測(cè)試環(huán)境:MYSQL數(shù)據(jù)庫(kù)采用utf8編碼.導(dǎo)入EXCEL文檔是xls格式,經(jīng)過(guò)測(cè)試,xlsx 格式[excel 2007]也OK.
文中紅色標(biāo)注為需要注意的地方,請(qǐng)?zhí)鎿Q成你配置好的數(shù)據(jù),如數(shù)據(jù)庫(kù)配置等。運(yùn)行http://localost/test.php實(shí)現(xiàn)導(dǎo)入。
以下是我貼出的詳細(xì)代碼,其中test.php為我寫(xiě)的測(cè)試文件,reader.php和oleread.inc文件是從上面提供的網(wǎng)址中下載的。
1. test.php
以下為引用的內(nèi)容:
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ù)庫(kù)
mysql_query("set names 'gbk'");//輸出中文
mysql_select_db('mydb'); //選擇數(shù)據(jù)庫(kù)
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表字段的多少,改寫(xiě)以下代碼吧!
$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);
}
?>
分享:Perl操作mysql數(shù)據(jù)庫(kù)的方法Perl對(duì)Mysql的操作。 一、標(biāo)準(zhǔn)操作 1、連接、關(guān)閉 my $dbh = DBI-connect(DBI:mysql:database=DBname;host=localhost,user,pwd, {RaiseError = 1}); $dbh-disconnect(); 2、類似插入等無(wú)返回操作 my $sqr = $dbh-prepare(insert into table_name(Name,region_id,inuse,
- mysql導(dǎo)入數(shù)據(jù)庫(kù)文件最大限制的修改
- Perl操作mysql數(shù)據(jù)庫(kù)的方法
- MySQL更新和刪除
- MySQL將表a中查詢的數(shù)據(jù)插入到表b中
- sql注入測(cè)試經(jīng)驗(yàn)教程
- mysql開(kāi)啟遠(yuǎn)程登錄功能
- 不需手動(dòng)鎖表同步mysql數(shù)據(jù)庫(kù)
- MySQL五個(gè)查詢優(yōu)化方法
- access與sql語(yǔ)法上有哪些區(qū)別
- 總結(jié)mysql服務(wù)器查詢慢原因
- go語(yǔ)言怎么和mysql數(shù)據(jù)庫(kù)進(jìn)行鏈接
- mysql給用戶添加查詢權(quán)限
MySQL教程Rss訂閱編程教程搜索
MySQL教程推薦
- MySQL筆記之別名的使用
- mysql 將列值轉(zhuǎn)變?yōu)榱械姆椒?/a>
- 如何通過(guò)SQL找出2個(gè)表里值不同的列的方法
- java連接mysql數(shù)據(jù)庫(kù)亂碼怎么辦
- PHP mysqli 增強(qiáng) 批量執(zhí)行sql 語(yǔ)句的實(shí)現(xiàn)代碼
- access與sql語(yǔ)法上有哪些區(qū)別
- MySQL數(shù)據(jù)庫(kù)INNODB 表?yè)p壞修復(fù)過(guò)程
- KB967723補(bǔ)丁造成的MYSQL在Win2003上頻繁連接不上
- 使用java處理字符串公式運(yùn)算的方法
- MySQL 生成隨機(jī)密碼
猜你也喜歡看這些
- 深入C++ string.find()函數(shù)的用法總結(jié)
- 淺談在SQL Server2005中進(jìn)行錯(cuò)誤捕捉
- 淺析SQL Server asp.net 數(shù)據(jù)提供程序連接池
- 解讀SQL存儲(chǔ)過(guò)程入門(mén)級(jí)教程
- 教你幾個(gè)MySQL鮮為人知特殊技巧
- 看看自己掌握了多少SQL快捷鍵
- 解析Oracle數(shù)據(jù)庫(kù)編寫(xiě)有效事務(wù)指導(dǎo)方針
- 如何設(shè)定sql server定期自動(dòng)備份數(shù)據(jù)庫(kù)
- 教你一招:MSSQL數(shù)據(jù)庫(kù)索引的應(yīng)用
- SQL Server 2008 數(shù)據(jù)加載創(chuàng)世界記錄
- 相關(guān)鏈接:
- 教程說(shuō)明:
MySQL教程-PHP實(shí)現(xiàn)將EXCEL文件導(dǎo)入到MYSQL
。