Laravel-excel: permitir alterar cabeçalhos HTTP antes de serem enviados antes do download

Criado em 19 dez. 2014  ·  3Comentários  ·  Fonte: Maatwebsite/Laravel-Excel

Para facilitar o uso de um plugin jquery que implementa um ajax como a experiência de download:
http://johnculviner.com/jquery-file-download-plugin-for-ajax-like-feature-rich-file-downloads

A implementação requer que um cabeçalho específico seja enviado de volta como parte da resposta do lado do servidor, o que atualmente não pode ser feito dentro do método LaravelExcelWriter::_download() .

Utilizar um evento antes de enviar cabeçalhos permitiria que os cabeçalhos padrão fossem ajustados de forma flexível conforme necessário.

Comentários muito úteis

1.3.0 terá a capacidade de passar uma matriz de cabeçalhos como o segundo parâmetro do método export() :

->export('xls', [
     'Set-Cookie'  => 'fileDownload=true; path=/'
]);

Todos 3 comentários

1.3.0 terá a capacidade de passar uma matriz de cabeçalhos como o segundo parâmetro do método export() :

->export('xls', [
     'Set-Cookie'  => 'fileDownload=true; path=/'
]);

Como posso fazer isso com a versão 3.1?

@ andreshg112 você pode adicionar o use Exportable; Concern à classe, por exemplo

class MyExportClass implements FromView
{

  use Exportable;

}

Em seguida, em seu controlador, você pode adicionar o cabeçalho:

return (new MyExportClass())->download('myexportfile.xlsx', \Maatwebsite\Excel\Excel::XLSX, [
      'X-Vapor-Base64-Encode' => 'True'
    ]);

A documentação está aqui, também demorei um pouco para descobrir: https://docs.laravel-excel.com/3.1/exports/exportables.html

Esta página foi útil?
0 / 5 - 0 avaliações