Afin de faciliter l'utilisation d'un plugin jquery qui implémente une expérience de téléchargement de type ajax :
http://johnculviner.com/jquery-file-download-plugin-for-ajax-like-feature-rich-file-downloads
L'implémentation nécessite qu'un en-tête particulier soit renvoyé dans le cadre de la réponse côté serveur, ce qui ne peut actuellement pas être fait dans la méthode LaravelExcelWriter::_download()
.
L'utilisation d'un événement avant l'envoi des en-têtes permettrait aux en-têtes par défaut d'être ajustés de manière flexible selon les besoins.
1.3.0 aura la possibilité de passer un tableau d'en-têtes comme 2ème paramètre de la méthode export()
:
->export('xls', [
'Set-Cookie' => 'fileDownload=true; path=/'
]);
Comment puis-je faire cela avec la version 3.1 ?
@andreshg112, vous pouvez ajouter le use Exportable;
Concern à la classe, par exemple
class MyExportClass implements FromView
{
use Exportable;
}
Ensuite, dans votre contrôleur, vous pouvez ajouter l'en-tête :
return (new MyExportClass())->download('myexportfile.xlsx', \Maatwebsite\Excel\Excel::XLSX, [
'X-Vapor-Base64-Encode' => 'True'
]);
La documentation est ici, il m'a fallu un peu de temps pour comprendre également : https://docs.laravel-excel.com/3.1/exports/exportables.html
Commentaire le plus utile
1.3.0 aura la possibilité de passer un tableau d'en-têtes comme 2ème paramètre de la méthode
export()
: