当前位置:首页 > CMS教程 > Thinkphp > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-29 11:39:14 浏览: 评论:0 

这篇文章主要介绍了thinkPHP实现将excel导入到数据库中的方法,涉及thinkPHP结合PHPExcel插件操作excel与数据库的相关技巧,需要的朋友可以参考下,本文实例讲述了thinkPHP实现将excel导入到数据库中的方法,分享给大家供大家参考,具体如下:

PHPExcel插件可点击此处本站下载。

这里使用的是thinkphp框架的3.1版本,下载好压缩包,框架中的extend中的vendor文件夹中新建一个名为PHPExcel的文件夹,把classes里面的内容放到里面

下面是前端页面

提示:我在测试的时候遇到报错exception 'PHPExcel_Reader_Exception' with message 'The filename

原因是由于excel的文件后缀可能不同,我的文件后缀是xlsx,然后给把他另存为了xls的文件,就可以了

  1. <html> 
  2.  <head> 
  3.  </head> 
  4.  <body> 
  5.   <form action="{pigcms::U('Jdb/abcdefgwulisuibian')}" method="post" enctype="multipart/form-data"> 
  6.    <input type="file" name="import"/> 
  7.    <input type="hidden" name="table" value="tablename"/> 
  8.    <input type="submit" value="导入"/> 
  9.   </form> 
  10.  </body> 
  11. </html> 

下面是php的:

  1. function abcdefgwulisuibianuplod(){ 
  2.   $this->display();//显示页面 
  3. function abcdefgwulisuibian(){ 
  4.   if (!empty($_FILES)) { 
  5.    import("@.ORG.UploadFile"); 
  6.    $config=array( 
  7.     'allowExts'=>array('xlsx','xls'), 
  8.     'savePath'=>'./Public/upload/'
  9.     'saveRule'=>'time'
  10.    ); 
  11.    $upload = new UploadFile($config); 
  12.    if (!$upload->upload()) { 
  13.     $this->error($upload->getErrorMsg()); 
  14.    } else { 
  15.     $info = $upload->getUploadFileInfo(); 
  16.    } 
  17.    vendor("PHPExcel.PHPExcel"); 
  18.     $file_name=$info[0]['savepath'].$info[0]['savename']; 
  19.     $objReader = PHPExcel_IOFactory::createReader('Excel5'); 
  20.     $objPHPExcel = $objReader->load($file_name,$encode='utf-8'); 
  21.     $sheet = $objPHPExcel->getSheet(0); 
  22.     $highestRow = $sheet->getHighestRow(); // 取得总行数 
  23.     $highestColumn = $sheet->getHighestColumn(); // 取得总列数 
  24.     for($i=2;$i<=$highestRow;$i++)//这个地方根据需要,一般第一行是名称,所以从第二行开始循环,也可以从第一行开始 
  25.     { 
  26.      $data['lianjieid'] = $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();//数据库字段和excel列相对应 
  27.      $data['yaoqingma'] = $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue(); 
  28.      $data['dlmima']= $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue(); 
  29.      $data['ljdizhi']= $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue(); 
  30.      M('jdb')->add($data);//插入数据库 
  31.     } 
  32.      $this->success('导入成功!'); 
  33.   }else 
  34.    { 
  35.     $this->error("请选择上传的文件"); 
  36.    } 
  37. }

Tags: excel导入

分享到: