Загрузка Excel останавливается при переходе на другой маршрут в Laravel - PullRequest
0 голосов
/ 07 мая 2018

Используя библиотеку maatwebsite-excel, я экспортирую данные в виде файла Excel в приложение Laravel.Если объем данных большой, процесс экспорта занимает несколько секунд.В то же время, если я нажимаю на любую другую вкладку меню и перехожу на новый маршрут (любую другую страницу в приложении), процесс загрузки останавливается.Интересно, я что-то не так делаю или так оно и есть.Я вижу некоторые веб-сайты с возможностью загрузки (не обязательно Excel / CSV), но они продолжают загружаться, когда я перехожу на другие страницы.Вот фрагмент моего кода:

Excel::create('Groups', function ($excel) use ($group_set_data) {
        foreach ($group_set_data as $group_set) {
            $counter = 2;
            $excel->sheet($group_set['name'], function ($sheet) use ($group_set, $counter) {
                $sheet->row(1, [
                    'Student',
                    'ID',
                    'grade',
                    'Group Name',
                ]);

                foreach ($group_set['groups'] as $key => $value) {
                    $users = Group::get_users_by_group_id($value['id']);
                    foreach ($users as $user) {
                        $sheet->row($counter, [
                            $user['name'],
                            $user['id'],
                            $user['grade'],
                            $value['name'],
                        ]);
                        $counter++;
                    }
                }
            });
        }
    })->export('xls');

1 Ответ

0 голосов
/ 26 июня 2018

помните, что функция 'excel :: create ..... ваш код здесь ...' в функции внутри контроллера, поэтому вам нужно показать окончательный маршрут, когда закончите работу

это мой код:

    $msj = "Upload succesfull"; $class = "alert alert-success";

/* ============================  END  ============================ */ 
})->export('xls'); // end read excel::function

return back()->with([]);

}

Я надеюсь, это поможет вам

...