Excel导出

来源:互联网 发布:淘宝店铺保证金怎么交 编辑:程序博客网 时间:2024/06/04 00:45

一.引入composer包:1.composer require -vvv //生成最新版本的 composer.json2.config/app.php: 'provider'=>:Maatwebsite\Excel\ExcelServiceProvider::class //服务  'aliases' =>:'Excel' => Maatwebsite\Excel\Facades\Excel::class //门面3.生成配置文件: php artisan vendor:publish  //Excel.php   二.模板里:   // 1.button按钮 id   <form id="export"></form><button type="button" class="btn btn-warning btn-sm" onclick="exports()">导出</button>// 2.商品导出方法function exports(){  var data = $("#export").serialize();  location.href = "{{url("admin/goods/export")}}?"+data;}三.路由        Route::get("export","GoodsController@export")->name("goods.export");    四.控制器        public function export(Goods $goods,NormsGroup $normsGroup,Request $request,GoodsType $goodsType,GoodsStatus $goodsStatus)    {        //获取商品分类        $goodsTypeInfo=$goodsType::whereNotIn("parent_id",[0,56])->get()->toArray();        //获取所有商品状态        $goodsStatusInfo=$goodsStatus::all()->toArray();        //获取商品分类        $info['name']=$request->input("name")?$request->input("name"):"";        $info['id']=$request->input("id")?$request->input("id"):"";        $info['category']=$request->input("category")?$request->input("category"):0;        $info['status']=$request->input("status")?[$request->input("status")]:[1,2,3,4,5];        //获取商品列表        if ($info['id'])        {            if ($info['category'])            {                $goodsInfos=$goods::with("goodsStatus","goodsType")->where([["name","like","%{$info['name']}%"],["id",$info['id']],["f_goods_type_id",$info['category']]])->whereIn("f_goods_status_id",$info['status'])->get();            }else            {                $goodsInfos=$goods::with("goodsStatus","goodsType")->where([["name","like","%{$info['name']}%"],["id",$info['id']]])->whereIn("f_goods_status_id",$info['status'])->get();            }        }else        {            if ($info['category'])            {                $goodsInfos=$goods::with("goodsStatus","goodsType")->where([["name","like","%{$info['name']}%"],["f_goods_type_id",$info['category']]])->whereIn("f_goods_status_id",$info['status'])->get();            }else            {                $goodsInfos=$goods::with("goodsStatus","goodsType")->where("name","like","%{$info['name']}%")->whereIn("f_goods_status_id",$info['status'])->get();            }        }        $goodsInfo=$goodsInfos->toArray();        foreach ($goodsInfo as $k =>$v)        {            $normsGroupId=explode(",",$v['f_norms_group_id']);            $normsGroupInfo=$normsGroup->whereIn("id",$normsGroupId)->get()->toArray();            $goodsInfo[$k]["norms_group"]=$normsGroupInfo;        }        //整成一维数组        $data[]=[            '编号',            '商品名称',            '所属分类',            '录入时间',            '商品规格组合',            '状态',            '商品价格',            '11121(价格)',        ];        // foreach($goodsInfo as $k=>$v){        //     $temp['id'] = $v['id'];        //     $temp['open_id'] = $v['open_id'];        //     $temp['goods_type'] = $v['goods_type']['name'];        //     $temp['create_time'] = date('Y-m-d',$v['create_time']);        //     $temp['norms_group']="";        //     foreach ($v['norms_group'] as $kk=>$vv){        //         $temp['norms_group'] .= $vv['name']."|";        //     }        //     $temp['norms_group']=trim($temp['norms_group'],"|");        //     $temp['status'] = $v['goods_status']['name'];        //     $temp['show_price'] = $v['show_price'];        //     $temp['show_sale_price'] = $v['show_sale_price'];        //     $data[] = $temp;        // }        //排行 用户成交额计算 number_format    $i=0;        foreach($employeeInfo as $k=>$v){            $temp_money["no"] = ++$i;            $temp_money["username"] = $v['username'];            $temp_money['userTurnover'] = number_format($price[$v['id']]/100,2,".","");            $temp_money['area1'] = "";            foreach($areaInfo as $kk=>$vv){                if ($v['f_area_id'] == $vv['id']){                    $temp_money['area1'] = $vv['name'];                }            }            $data[] = $temp_money;        }        Excel::create('goodsInfo',function($excel) use ($data){            $excel->sheet('goodsInfo', function($sheet) use ($data){                $sheet->rows($data);            });        })->export('xls');    }


原创粉丝点击