1.首先要下载PHPExcel放到vendor文件夹下,我的路径是:项目/vendor/PHPExcel/,把下载的PHPExcel文件放在这里

2.前端代码

<!DOCTYPE html>
<html>
<head>
  <title>批量导入数据</title>
</head>
<body>
<form action="{:url('/index/index/importExcel')}" method="post" enctype="multipart/form-data">
  <input type="file" name="myfile"><br/>
  <input type="submit" value="批量的导入">
</form>
</body>
</html>

3.后台代码

/**
  * 导入表格数据
  * 先把文件上传到服务器,然后再读取数据存到数据库
  */
  public function importExcel(){
    header("content-type:text/html;charset=utf-8");
    //上传excel文件
    $file = request()->file('myfile');
    //移到/public/uploads/excel/下
    $info = $file->move(ROOT_PATH.'public'.DS.'uploads'.DS.'excel');
    //上传文件成功
    if ($info) {
      //引入PHPExcel类
      vendor('PHPExcel.PHPExcel.Reader.Excel5');
      //获取上传后的文件名
      $fileName = $info->getSaveName();
      //文件路径
      $filePath = 'public/uploads/excel/'.$fileName;
      //实例化PHPExcel类
      $PHPReader = new \PHPExcel_Reader_Excel5();
      //读取excel文件
      $objPHPExcel = $PHPReader->load($filePath);
      //读取excel文件中的第一个工作表
      $sheet = $objPHPExcel->getSheet(0);
      $allRow = $sheet->getHighestRow();  //取得总行数
      //$allColumn = $sheet->getHighestColumn();  //取得总列数
      //从第二行开始插入,第一行是列名
      for ($j=2; $j <= $allRow; $j  ) {
        $data['name'] = $objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue();
        $data['tel'] = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();
        $data['addr'] = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue();
        $last_id = Db::table('users')->insertGetId($data);//保存数据,并返回主键id
        if ($last_id) {
          echo "第".$j."行导入成功,users表第:".$last_id."条!<br/>";
        }else{
          echo "第".$j."行导入失败!<br/>";
        }
      }
    }else{
      echo "上传文件失败!";
    }
  }

输出结果:


注意:

引入第三方类库使用vendor();是按照命名空间的形式。底层代码会把“ . ”自动替换成" / ",所以使用“ / ”时要用“ . ”代替;

以上代码可以直接复制使用,但是数据库相关信息要改成你自己的!

总结

以上所述是小编给大家介绍的Thinkphp5 PHPExcel实现批量上传表格数据功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会

Thinkphp5+PHPExcel实现批量上传表格数据功能的更多相关文章

  1. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  2. thinkPHP5框架设置404、403等http状态页面的方法

    这篇文章主要介绍了thinkPHP5框架设置404、403等http状态页面的方法,结合实例形式分析了thinkPHP5框架设置404页面的相关配置、视图显示页面及控制器调用相关操作技巧,需要的朋友可以参考下

  3. TP5(thinkPHP5)框架mongodb扩展安装及特殊操作示例

    这篇文章主要介绍了TP5(thinkPHP5)框架mongodb扩展安装及特殊操作,结合实例形式分析了MongoDB扩展的基本安装、配置、模型操作以及使用Push操作实现的数据添加、更新等方法,需要的朋友可以参考下

  4. thinkPHP5框架路由常用知识点汇总

    这篇文章主要介绍了thinkPHP5框架路由常用知识点,整理汇总了thinkPHP5框架路由相关概念、原理及操作技巧,需要的朋友可以参考下

  5. ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】

    这篇文章主要介绍了ThinkPHP5.0框架验证码功能实现方法,结合实例形式分析了thinkPHP5基于第三方扩展包实现验证码功能相关操作技巧,需要的朋友可以参考下

  6. phpexcel导入excel处理大数据(实例讲解)

    下面小编就为大家带来一篇phpexcel导入excel处理大数据(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. thinkphp5框架路由原理与用法详解

    这篇文章主要介绍了thinkphp5框架路由原理与用法,结合图文与实例形式详细分析了thinkPHP5框架路由的相关原理、使用方法及操作注意事项,需要的朋友可以参考下

  8. thinkphp5框架扩展redis类方法示例

    这篇文章主要介绍了thinkphp5框架扩展redis类方法,结合实例形式分析了thinkphp5框架扩展redis类的实现步骤、操作技巧与相关注意事项,需要的朋友可以参考下

  9. thinkPHP5项目中实现QQ第三方登录功能

    这篇文章主要介绍了thinkPHP5项目中实现QQ第三方登录功能,结合实例形式较为详细的分析了修改QQ登陆接口并整合进thinkPHP5项目中的具体步骤与相关操作技巧,需要的朋友可以参考下

  10. thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例

    这篇文章主要介绍了thinkPHP5框架实现多数据库连接,跨数据连接查询操作,涉及thinkPHP5框架数据库配置、连接及各种常见查询操作技巧,需要的朋友可以参考下

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部