Excel导出

(五).Excel导出:

 


   一.引入composer包:


1.composer require -vvv //生成最新版本的 composer.json
2.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" οnclick="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');


    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值