Um die Verwendung eines jquery-Plugins zu erleichtern, das ein Ajax-ähnliches Download-Erlebnis implementiert:
http://johnculviner.com/jquery-file-download-plugin-for-ajax-like-feature-rich-file-downloads
Die Implementierung erfordert, dass ein bestimmter Header als Teil der serverseitigen Antwort zurückgesendet wird, was derzeit innerhalb der Methode LaravelExcelWriter::_download()
möglich ist.
Die Verwendung eines Ereignisses vor dem Senden von Headern würde eine flexible Anpassung der Standardheader nach Bedarf ermöglichen.
1.3.0 kann ein Array von Headern als zweiten Parameter der Methode export()
:
->export('xls', [
'Set-Cookie' => 'fileDownload=true; path=/'
]);
Wie kann ich das mit Version 3.1 tun?
@andreshg112 Sie können der Klasse use Exportable;
Concern hinzufügen, zB
class MyExportClass implements FromView
{
use Exportable;
}
Dann können Sie in Ihrem Controller die Kopfzeile hinzufügen:
return (new MyExportClass())->download('myexportfile.xlsx', \Maatwebsite\Excel\Excel::XLSX, [
'X-Vapor-Base64-Encode' => 'True'
]);
Die Dokumentation ist hier, ich habe auch ein bisschen gebraucht, um es herauszufinden: https://docs.laravel-excel.com/3.1/exports/exportables.html
Hilfreichster Kommentar
1.3.0 kann ein Array von Headern als zweiten Parameter der Methode
export()
: