TP5(layui)excel导入-php教程

资源魔 77 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');
    }

以上就是TP5(layui)excel导入的具体内容,更多请存眷资源魔其它相干文章!

标签: php开发教程 php开发资料 php开发自学 layui TP5

抱歉,评论功能暂时关闭!