欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-04-02 09:59:58
本文实例讲述了thinkphp实现将excel导入到数据库中的方法。分享给大家供大家参考,具体如下: phpexcel插件可点击此处。 这里使用的是thinkphp框架...

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