您的位置 首页 php

TP5(layui)excel导入

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');    }

以上就是TP5(layui)excel导入的详细内容,更多请关注求知技术网其它相关文章!

文章来源:智云一二三科技

文章标题:TP5(layui)excel导入

文章地址:https://www.zhihuclub.com/3892.shtml

关于作者: 智云科技

热门文章

网站地图