龙行博客

走路看风景,经历看人生,岁月留痕迹,人生留轨迹,17的历史,18的豪情,时间的匆忙,人生的风景,放开心胸往前走,成功再远行,放开理想往前走,梦想再行动。
现在位置:首页 > 编程语言 > web前端 > TP5+layui excel导入

TP5+layui excel导入

龙行    web前端    2019-7-23    2882    0评论    

1.composer安装PHPExcel

下载安装composer

其次 cmd切换到项目根目录 运行命令:

composer require phpoffice/phpexcel

注意:

1.运行可能会报错OpenSSL之类的 去php.ini中开启extension=php_openssl.dll扩展,去掉分号

2.还有可能出现找不到匹配的包的错误,这是因为我本地用的phpstudy的nts版本,这个版本比较特殊同时支持apache和nginx,只是本地虚拟环境开发测试用的PHP版本,所以匹配不到,应该切换正常版本在运行命令安装

2.前端代码

<div class="layui-form-item" >
<label class="layui-form-label">导入专线</label>
<div class="layui-input-inline">
<div class="layui-upload">
<button type="button" name="myfile" class="layui-btn" id="myfile"><i class="layui-icon"></i>上传文件</button>
</div>
</div>
</div>
<script type="text/javascript">
    layui.use(['form','upload'],function(){
        var form=layui.form;
        var upload=layui.upload;
        upload.render({ //允许上传的文件后缀
            elem: '#myfile'
            ,url: "{:url('Logisticscompany/inserline')}"
            ,accept: 'file' //普通文件
            ,exts: 'xls|excel|xlsx' //只允许上传压缩文件
            ,done: function(res){
                if(res.code==1){
                    layer.msg('上传成功,已解析数据',{icon:6});
                    location.href="{:url('Logisticscompany/lists')}";
                }else{
                    layer.msg('解析失败',{icon:5});
                }
            }
        });
        form.on('submit(formsub)',function(data){
            layer.msg('导入数据具体详情未协商确认,待确认后处理');
            return false;
        })
    })
</script>

3.controller

/**
   * excel导入网点
   */
  public function  insert(){
      if(request() -> isPost())
      {
          vendor("PHPExcel.PHPExcel"); //方法一
          $objPHPExcel =new \PHPExcel();
          //获取表单上传文件
          $file = request()->file('file');
          $info = $file->validate(['ext' => 'xlsx,xls'])->move(ROOT_PATH .'public');  //上传验证后缀名,以及上传之后移动的地址  E:\wamp\www\bick\public
          if($info)
          {
              $exclePath = $info->getSaveName();  //获取文件名
              $file_name = ROOT_PATH . 'public' . DS . $exclePath;//上传文件的地址
              $file_types = explode ( ".", $_FILES ['file'] ['name'] );
              $file_type = $file_types [count ( $file_types ) - 1];
              if($file_type=='xls'){
                  $objReader =\PHPExcel_IOFactory::createReader("Excel5");
              }
              else if($file_type=='xlsx'){
                  $objReader =\PHPExcel_IOFactory::createReader("Excel2007");
              }
              $obj_PHPExcel =$objReader->load($file_name, $encode = 'utf-8');  //加载文件内容,编码utf-8
              $excel_array=$obj_PHPExcel->getSheet(0)->toArray();   //转换为数组格式
              array_shift($excel_array);  //删除第一个数组(标题);
              $data = [];
              $i=0;
              foreach($excel_array as $k=>$v) {
                  $data[$k]['viewName'] = $v[0];
                  $data[$k]['cityId'] = $v[1];
                  $data[$k]['stationAddress'] = $v[2];
                  $data[$k]['linkMan'] = $v[3];
                  $data[$k]['linkPhone'] = $v[4];
                  $data[$k]['longitude'] = $v[5];
                  $data[$k]['latitude'] = $v[6];
                  $data[$k]['userId'] = $v[7];
                  $data[$k]['remark'] = $v[8];
                  $i++;
              }
              $re=    Db::name("htt_freightstation")->insertAll($data);
              if($re){
                  $msg=[
                      'code'=>1,
                      'msg'=>'已获取信息',
                  ];
                  return json_encode($msg);
              }
              else{
                  $msg=[
                      'code'=>0,
                      'msg'=>'获取信息失败',
                  ];
                  return json_encode($msg);
              }
          }else
          {
              echo $file->getError();
          }
      }
      return $this->fetch('lists');
  }

转载自: 本文转载自PHP中文网

评论一下 分享本文 赞助站长

赞助站长X

扫码赞助站长
联系站长
龙行博客
  • 版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《龙行博客》。
  • 本文网址:https://www.liaotaoo.cn/271.html
  • 上篇文章:一个基于jQuery的table插件bcgrid
  • 下篇文章:phpstudy环境mysql远程连接1130
  • php 文件操作 tp5 layuiswitch js jquery
快捷导航
联系博主
在线壁纸
给我留言
四四五五
音乐欣赏
返回顶部