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ù)需要,一般第一行是名稱,所以從第二行開(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)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《ThinkPHP常用方法總結(jié)》、《smarty模板入門基礎(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類實(shí)現(xiàn)excel導(dǎo)入mysql數(shù)據(jù)庫(kù)功能(實(shí)例代碼)
- 如何將excel表格數(shù)據(jù)導(dǎo)入postgresql數(shù)據(jù)庫(kù)
相關(guān)文章
PHP無(wú)限循環(huán)獲取MySQL中的數(shù)據(jù)實(shí)例代碼
最近公司有個(gè)需求需要從MySQL獲取數(shù)據(jù),然后在頁(yè)面上無(wú)線循環(huán)的翻頁(yè)展示.其實(shí)這個(gè)功能可以通過(guò)jq實(shí)現(xiàn),也可以通過(guò)php+mysql實(shí)現(xiàn),下面小編給大家分享基于PHP無(wú)限循環(huán)獲取MySQL中的數(shù)據(jù)實(shí)現(xiàn)方法,感興趣的朋友一起看看吧2017-08-08Docker搭建自己的PHP開(kāi)發(fā)環(huán)境
本文給大家介紹的是如何在docker中搭建一個(gè)PHP的開(kāi)發(fā)環(huán)境,將用 zPhal-dockerfiles 做為例子,有需要的小伙伴可以參考下2018-02-02推薦一款PHP+jQuery制作的列表分頁(yè)的功能模塊
作者寫博目的是記錄開(kāi)發(fā)過(guò)程,積累經(jīng)驗(yàn),便于以后工作參考。本文主要是記錄了制作PHP+jQuery 支持 url 分頁(yè) / ajax 分頁(yè) 的列表分頁(yè)類的過(guò)程,有需要的朋友可以參考下2014-10-10thinkPHP3.2使用RBAC實(shí)現(xiàn)權(quán)限管理的實(shí)現(xiàn)
這篇文章主要介紹了thinkPHP3.2使用RBAC實(shí)現(xiàn)權(quán)限管理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08tp5(thinkPHP5)框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)查詢的方法
這篇文章主要介紹了tp5(thinkPHP5)框架實(shí)現(xiàn)多數(shù)據(jù)庫(kù)查詢的方法,結(jié)合實(shí)例形式分析了thinkPHP5框架多數(shù)據(jù)庫(kù)查詢的相關(guān)配置、初始化及調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2019-01-01Swoole?webSocket客服IM消息系統(tǒng)方案解析
這篇文章主要為大家介紹了Swoole?webSocket客服IM消息系統(tǒng)方案解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03