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

前端技术 2023/09/09 PHP

本文实例讲述了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程序设计有所帮助。

本文地址:https://www.stayed.cn/item/23825

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。