Чтобы упростить использование плагина jquery, который реализует ajax-подобную загрузку:
http://johnculviner.com/jquery-file-download-plugin-for-ajax-like-feature-rich-file-downloads
Реализация требует, чтобы определенный заголовок был отправлен обратно как часть ответа на стороне сервера, что в настоящее время не может быть выполнено с помощью метода LaravelExcelWriter::_download()
.
Использование события перед отправкой заголовков позволит гибко настраивать заголовки по умолчанию по мере необходимости.
1.3.0 будет иметь возможность передавать массив заголовков в качестве 2-го параметра метода export()
:
->export('xls', [
'Set-Cookie' => 'fileDownload=true; path=/'
]);
Как это сделать с версией 3.1?
@ andreshg112 вы можете добавить use Exportable;
Concern в класс, например
class MyExportClass implements FromView
{
use Exportable;
}
Затем в вашем контроллере вы можете добавить заголовок:
return (new MyExportClass())->download('myexportfile.xlsx', \Maatwebsite\Excel\Excel::XLSX, [
'X-Vapor-Base64-Encode' => 'True'
]);
Документация здесь, мне тоже потребовалось немного разобраться: https://docs.laravel-excel.com/3.1/exports/exportables.html
Самый полезный комментарий
1.3.0 будет иметь возможность передавать массив заголовков в качестве 2-го параметра метода
export()
: