/**
  * @param ExcelFileAbstract $excel
  *
  * @return mixed
  */
 public function exportUsersListBackEnd(ExcelFileAbstract $excel)
 {
     $user_can_see_env = cms_is_superadmin();
     $this->setPresenter(new UserListExcelPresenter());
     if (!$user_can_see_env) {
         // Force filter on current environment
         $this->filterEnvironments([\Environments::currentId()]);
     }
     $users = $this->with(['roles'])->all($this->fields);
     $nb_users = $this->count();
     return $excel->setTitle(trans('users::backend.export.users_list.title'))->setCreator(Auth::user()->full_name)->setDescription(\Settings::get('cms.site.name') . PHP_EOL . \Settings::get('cms.site.description'))->sheet(sprintf(trans('users::backend.export.users_list.sheet_title'), date('Y-m-d H\\hi')), function ($sheet) use($users, $nb_users, $user_can_see_env) {
         /*
          * Header
          */
         $header = ['#', trans('global.civility'), trans('global.last_name'), trans('global.first_name'), trans('global.email'), trans('global.birth_date'), trans('global.role_s')];
         if ($user_can_see_env) {
             $header[] = trans('global.environment_s');
         }
         $header[] = trans('global.addresse_s');
         $sheet->prependRow($header);
         /*
          * Data
          */
         // Append row after row 2
         $sheet->rows($users['data']);
         // Append row after row 2
         $sheet->appendRow($nb_users + 2, [sprintf(trans('users::backend.export.total_users'), $nb_users)]);
         /*
          * Style
          */
         // Set black background
         $sheet->row(1, function ($row) {
             // Set font
             $row->setFont(['size' => '14', 'bold' => true])->setAlignment('center')->setValignment('middle');
         });
         // Freeze first row
         $sheet->freezeFirstRow();
         $sheet->cells('A2:F' . ($nb_users + 2), function ($cells) {
             // Set font
             $cells->setFont(['size' => '12', 'bold' => false, 'wrap-text' => true])->setAlignment('center')->setValignment('middle');
         });
         $sheet->row($nb_users + 2, function ($row) {
             // Set font
             $row->setFont(['size' => '12', 'bold' => true])->setAlignment('center')->setValignment('middle');
         });
     })->export('xls');
 }