public function saveExcel() { Excel::create('elisoft_staff', function ($excel) { $excel->sheet('staff_manager', function ($sheet) { $department = Department::leftJoin('staff', 'department.id', '=', 'staff.department_id')->join('level', 'staff.level_id', '=', 'level.id')->join('role', 'level.role_id', '=', 'role.id')->select(DB::raw('department.name as name_dep,role.name,count(*) as num'))->groupBy('department.name', 'role.name')->get()->toArray(); $data = []; $arr = ['Department', 'Role', 'Quantity']; array_push($data, $arr); foreach ($department as $key => $value) { $arr = [$value['name_dep'], $value['name'], $value['num']]; array_push($data, $arr); } // Set font with ->setStyle()` $sheet->setStyle(array('font' => array('name' => 'Calibri', 'size' => 15))); $sheet->fromArray($data); }); })->export('xls'); }