Maison >cadre php >Laravel >Comment exporter rapidement les valeurs de retour Excel dans Laravel8 !

Comment exporter rapidement les valeurs de retour Excel dans Laravel8 !

藏色散人
藏色散人avant
2022-12-08 17:02:411758parcourir

Cet article présente principalement comment exporter rapidement les valeurs de retour Excel dans Laravel8 C'est très simple~ J'espère que cela sera utile aux amis dans le besoin !

【Recommandation associée : tutoriel vidéo laravel

Une idée simple pour exporter la valeur de retour Excel dans Laravel8

J'ai récemment utilisé l'extension MaatwebsiteExcel pour exporter Excel Comment le faire, je n'entrerai pas dans les détails. détails ici. Utilisez simplement le code Export suivant :

//导出excel【$head是excel表头,$list是数据】
return Excel::download(new CustomerExport($head, $list), date('YmdHis') . '.xls');

J'ai imprimé cette valeur de retour par curiosité :

print_r(Excel::download(new CustomerExport($head, $list), date('YmdHis') . '.xls'));

Le résultat est le suivant :

Symfony\Component\HttpFoundation\BinaryFileResponse Object
(
    [file:protected] => Symfony\Component\HttpFoundation\File\File Object
        (
            [pathName:SplFileInfo:private] => /home/vagrant/www/admin/storage/framework/cache/laravel-excel/laravel-excel-4U89uL9YLn4vNb1QrCDelsmv4Yrk3Ff.xls
            [fileName:SplFileInfo:private] => laravel-excel-4U89uL9YLn4vNb1QrCDelsmv4Yrk3Ff.xls
        )
    [offset:protected] => 0
    [maxlen:protected] => -1
    [deleteFileAfterSend:protected] => 1
    [headers] => Symfony\Component\HttpFoundation\ResponseHeaderBag Object
        (
            [computedCacheControl:protected] => Array
                (
                    [public] => 1
                )
            [cookies:protected] => Array
                (
                )
            [headerNames:protected] => Array
                (
                    [cache-control] => Cache-Control
                    [date] => Date
                    [last-modified] => Last-Modified
                    [content-disposition] => Content-Disposition
                )
            [headers:protected] => Array
                (
                    [cache-control] => Array
                        (
                            [0] => public
                        )
                    [date] => Array
                        (
                            [0] => Thu, 08 Dec 2022 05:57:26 GMT
                        )
                    [last-modified] => Array
                        (
                            [0] => Thu, 08 Dec 2022 07:16:21 GMT
                        )
                    [content-disposition] => Array
                        (
                            [0] => attachment; filename=20221208152026.xls
                        )
                )
            [cacheControl:protected] => Array
                (
                    [public] => 1
                )
        )
    [content:protected] => 
    [version:protected] => 1.0
    [statusCode:protected] => 200
    [statusText:protected] => OK
    [charset:protected] => 
)

Évidemment, c'est un objet.

Parce que mon front-end et mon back-end sont séparés et que l'interface est directement codée, les étudiants du front-end utilisent la balise a pour accéder à l'adresse de l'interface à télécharger, et cela peut réussir. Mais ouvrez le réseau de F12 pour voir la valeur de retour. Ce que le front-end obtient est un flux de fichiers, comme suit :

Comment exporter rapidement les valeurs de retour Excel dans Laravel8 !

Pourquoi est-ce que lors de l'exécution de l'interface renvoie directement un objet, le front-end l'obtient sous forme de fichier. flux de fichiers ?

Il s'avère que lors du retour, deux paramètres sont automatiquement ajoutés à l'en-tête de retour

Content-Disposition:attachment; filename=20221208152026.xls
Content-Type:application/vnd.ms-excel

Content-Disposition n'est pas le message d'en-tête dans l'objet

Comment exporter rapidement les valeurs de retour Excel dans Laravel8 !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer