Welcome 微信登录

首页 / 网页编程 / PHP / thinkPHP实现将excel导入到数据库中的方法

本文实例讲述了thinkPHP实现将excel导入到数据库中的方法。分享给大家供大家参考,具体如下:
PHPExcel插件可点击此处本站下载。
这里使用的是thinkphp框架的3.1版本,下载好压缩包,框架中的extend中的vendor文件夹中新建一个名为PHPExcel的文件夹,把classes里面的内容放到里面
下面是前端页面
提示:我在测试的时候遇到报错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="导入"/></form> </body></html>
下面是php的
function abcdefgwulisuibianuplod(){$this->display();//显示页面}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(); // 取得总行数$highestColumn = $sheet->getHighestColumn(); // 取得总列数for($i=2;$i<=$highestRow;$i++)//这个地方根据需要,一般第一行是名称,所以从第二行开始循环,也可以从第一行开始{ $data["lianjieid"] = $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();//数据库字段和excel列相对应 $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);//插入数据库} $this->success("导入成功!");}else {$this->error("请选择上传的文件"); }}
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。