php教程

超轻量级php框架startmvc

thinkPHP实现将excel导入到数据库中的方法

更新时间:2020-03-09 00:28:46 作者:startmvc
本文实例讲述了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 excel 导入数据库