Example #1
0
 public function export(Questionnaire $questionnaire)
 {
     $total_ticks = [];
     foreach ($questionnaire->questions()->get() as $question) {
         $total_ticks[$question->id] = 0;
         foreach ($question->options()->get() as $option) {
             $total_ticks[$question->id] += $option->num_vote;
         }
         if ($total_ticks[$question->id] == 0) {
             $total_ticks[$question->id] = 1;
         }
     }
     Excel::create($questionnaire->title, function ($excel) use($questionnaire, $total_ticks) {
         // Set the title
         $excel->setTitle($questionnaire->title);
         // Chain the setters
         $excel->setCreator($questionnaire->user->username)->setCompany('Skillema');
         // Call them separately
         $excel->setDescription($questionnaire->description);
         $excel->sheet('result', function ($sheet) use($questionnaire, $total_ticks) {
             $sheet->loadView('excel.questionnaire', compact('questionnaire', 'total_ticks'));
         });
     })->export('xlsx');
 }