thinkPHP實(shí)現(xiàn)將excel導(dǎo)入到數(shù)據(jù)庫(kù)中的方法
本文實(shí)例講述了thinkPHP實(shí)現(xiàn)將excel導(dǎo)入到數(shù)據(jù)庫(kù)中的方法。分享給大家供大家參考,具體如下:
PHPExcel插件可點(diǎn)擊此處本站下載。
這里使用的是thinkphp框架的3.1版本,下載好壓縮包,框架中的extend中的vendor文件夾中新建一個(gè)名為PHPExcel的文件夾,把classes里面的內(nèi)容放到里面
下面是前端頁(yè)面
提示:我在測(cè)試的時(shí)候遇到報(bào)錯(cuò)exception 'PHPExcel_Reader_Exception' with message 'The filename
原因是由于excel的文件后綴可能不同,我的文件后綴是xlsx,然后給把他另存為了xls的文件,就可以了
<html>
<head>
</head>
<body>
<form action="{pigcms::U('Jdb/abcdefgwulisuibian')}" method="post" enctype="multipart/form-data">
<input type="file" name="import"/>
<input type="hidden" name="table" value="tablename"/>
<input type="submit" value="導(dǎo)入"/>
</form>
</body>
</html>
下面是php的
function abcdefgwulisuibianuplod(){
$this->display();//顯示頁(yè)面
}
function abcdefgwulisuibian(){
if (!empty($_FILES)) {
import("@.ORG.UploadFile");
$config=array(
'allowExts'=>array('xlsx','xls'),
'savePath'=>'./Public/upload/',
'saveRule'=>'time',
);
$upload = new UploadFile($config);
if (!$upload->upload()) {
$this->error($upload->getErrorMsg());
} else {
$info = $upload->getUploadFileInfo();
}
vendor("PHPExcel.PHPExcel");
$file_name=$info[0]['savepath'].$info[0]['savename'];
$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load($file_name,$encode='utf-8');
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得總行數(shù)
$highestColumn = $sheet->getHighestColumn(); // 取得總列數(shù)
for($i=2;$i<=$highestRow;$i++)//這個(gè)地方根據(jù)需要,一般第一行是名稱(chēng),所以從第二行開(kāi)始循環(huán),也可以從第一行開(kāi)始
{
$data['lianjieid'] = $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();//數(shù)據(jù)庫(kù)字段和excel列相對(duì)應(yīng)
$data['yaoqingma'] = $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();
$data['dlmima']= $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();
$data['ljdizhi']= $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();
M('jdb')->add($data);//插入數(shù)據(jù)庫(kù)
}
$this->success('導(dǎo)入成功!');
}else
{
$this->error("請(qǐng)選擇上傳的文件");
}
}
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《ThinkPHP入門(mén)教程》、《ThinkPHP常用方法總結(jié)》、《smarty模板入門(mén)基礎(chǔ)教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
- 如何將Excel文件導(dǎo)入MySQL數(shù)據(jù)庫(kù)
- Java實(shí)現(xiàn)批量導(dǎo)入excel表格數(shù)據(jù)到數(shù)據(jù)庫(kù)中的方法
- Java實(shí)現(xiàn)Excel導(dǎo)入導(dǎo)出數(shù)據(jù)庫(kù)的方法示例
- PHP上傳Excel文件導(dǎo)入數(shù)據(jù)到MySQL數(shù)據(jù)庫(kù)示例
- 使用phpexcel類(lèi)實(shí)現(xiàn)excel導(dǎo)入mysql數(shù)據(jù)庫(kù)功能(實(shí)例代碼)
- 如何將excel表格數(shù)據(jù)導(dǎo)入postgresql數(shù)據(jù)庫(kù)
相關(guān)文章
Yii 2.0自帶的驗(yàn)證碼使用經(jīng)驗(yàn)分享
這篇文章主要給大家介紹了關(guān)于使用Yii 2.0自帶驗(yàn)證碼的一些經(jīng)驗(yàn),方便新手們快速上手,對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-06-06
用 Composer構(gòu)建自己的 PHP 框架之基礎(chǔ)準(zhǔn)備
這篇文章主要介紹了用 Composer構(gòu)建自己的 PHP 框架的基礎(chǔ)準(zhǔn)備工作,其實(shí)就是各種基礎(chǔ)知識(shí),想自己搭建php框架的童鞋可要看仔細(xì)了2014-10-10
Yii2 hasOne(), hasMany() 實(shí)現(xiàn)三表關(guān)聯(lián)的方法(兩種)
這篇文章主要介紹了Yii2 hasOne(), hasMany() 實(shí)現(xiàn)三表關(guān)聯(lián)的方法(兩種),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02
Laravel 隊(duì)列使用的實(shí)現(xiàn)
這篇文章主要介紹了Laravel 隊(duì)列使用的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
smarty內(nèi)置函數(shù)capture用法分析
這篇文章主要介紹了smarty內(nèi)置函數(shù)capture用法,實(shí)例分析了capture的三種常見(jiàn)用法,需要的朋友可以參考下2015-01-01
一個(gè)非常完美的讀寫(xiě)ini格式的PHP配置類(lèi)分享
這篇文章主要介紹了一個(gè)非常完美的讀寫(xiě)ini格式的PHP配置類(lèi)分享,本文給出類(lèi)代碼、使用例子和配置文件例子,需要的朋友可以參考下2015-02-02
PHP通過(guò)pem文件校驗(yàn)簽名異常問(wèn)題解決
在對(duì)接第三方支付過(guò)程中,支付成功異步回調(diào)時(shí),校驗(yàn)簽名,一直無(wú)法通過(guò),最后經(jīng)過(guò)排查,是引用秘鑰文件時(shí),報(bào)錯(cuò)了,本文給大家分享PHP通過(guò)pem文件校驗(yàn)簽名異常問(wèn)題解決方法,需要的朋友可以參考下2023-09-09

