public function getExportbackerlists() { $excelnm = "backers_list_" . date("d-m-Y"); Excel::create($excelnm, function ($excel) { $excel->sheet('Project', function ($sheet) { $liveProjects = array(); $authId = Auth::user()->id; $my_live_projects = Project::where('user_id', $authId)->where('active', '1')->where('live', '1')->orderBy('created_at', 'desc')->get(); foreach ($my_live_projects as $val) { $liveProjects[] = $val->id; } $listOfBackers = \App\Models\ProjectFund::whereIn('P_ID', $liveProjects)->orderBy('created_at', 'desc')->groupBy('U_ID')->get(); if (count($listOfBackers) > 0) { $cnt = 0; foreach ($listOfBackers as $val) { $arr[$cnt]['backed_amount'] = \App\Models\ProjectFund::where('P_ID', $val->P_ID)->where('U_ID', $val->U_ID)->orderBy('created_at', 'desc')->sum('paid_amount'); $arr[$cnt]['backer_name'] = $val->user()->first()->name; $arr[$cnt]['project_name'] = $val->project()->first()->name; $cnt++; } } $dataArr = array(); if (is_array($arr) && count($arr) > 0) { $counter = 0; foreach ($arr as $kyy => $dataval) { $dataArr[$counter]['Sl'] = $counter + 1; $dataArr[$counter]['Backer Name'] = $dataval['backer_name']; $dataArr[$counter]['Backed Amount($)'] = $dataval['backed_amount']; $dataArr[$counter]['Project Name'] = $dataval['project_name']; $counter++; } } /* setting column names for data - you can of course set it manually */ $sheet->appendRow(array_keys($dataArr[0])); /* column names */ /* getting last row number (the one we already filled and setting it to bold */ $sheet->row($sheet->getHighestRow(), function ($row) { $row->setFontWeight('bold'); }); /* putting users data as next rows */ foreach ($dataArr as $user) { $sheet->appendRow($user); } }); })->export('xls'); }