• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Thinkphp5+PHPExcel实现批量上传表格数据功能

    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实现批量上传表格数据功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会

    您可能感兴趣的文章:
    • PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
    • PHPExcel实现表格导出功能示例【带有多个工作sheet】
    • 使用PHPExcel导出Excel表
    • PHPExcel冻结(锁定)表头的简单实现方法
    • 使用PHPExcel实现数据批量导出为excel表格的方法(必看)
    • thinkPHP+phpexcel实现excel报表输出功能示例
    • php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
    • PHPExcel实现的读取多工作表操作示例
    上一篇:thinkPHP5使用laypage分页插件实现列表分页功能
    下一篇:laravel5 使用try catch的实例详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Thinkphp5+PHPExcel实现批量上传表格数据功能 Thinkphp5+PHPExcel,实现,批量,