Heim > PHP-Framework > Laravel > Hauptteil

So exportieren Sie schnell Excel-Rückgabewerte in Laravel8!

藏色散人
Freigeben: 2022-12-08 20:32:54
nach vorne
1730 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich vor, wie man Excel-Rückgabewerte schnell in Laravel8 exportiert. Es ist sehr einfach ~ Ich hoffe, es wird Freunden helfen, die es brauchen!

【Verwandte Empfehlung: Laravel-Video-Tutorial

Eine einfache Idee zum Exportieren von Excel-Rückgabewerten in Laravel8

Ich habe kürzlich die MaatwebsiteExcel-Erweiterung zum Exportieren von Excel verwendet, auf die ich nicht näher eingehen werde Details hier. Verwenden Sie einfach den folgenden Code-Export:

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

Ich habe diesen Rückgabewert aus Neugier gedruckt:

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

Das Ergebnis ist wie folgt:

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] => 
)
Nach dem Login kopieren

Offensichtlich ist er ein Objekt.

Da mein Front-End und mein Back-End getrennt sind und die Schnittstelle direkt codiert ist, springen die Front-End-Studenten mithilfe des Tags a zur Schnittstellenadresse, um sie herunterzuladen, und dies kann erfolgreich sein. Öffnen Sie jedoch das Netzwerk von F12, um den Rückgabewert anzuzeigen. Das Frontend erhält einen Dateistream wie folgt:

So exportieren Sie schnell Excel-Rückgabewerte in Laravel8!

Warum gibt das Frontend ein Objekt zurück, wenn es direkt ausgeführt wird? Dateistream?

Es stellt sich heraus, dass bei der Rückgabe automatisch zwei Parameter zum Rückgabeheader hinzugefügt werden

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

Content-Disposition ist nicht die Header-Nachricht im Objekt

So exportieren Sie schnell Excel-Rückgabewerte in Laravel8!

Das obige ist der detaillierte Inhalt vonSo exportieren Sie schnell Excel-Rückgabewerte in Laravel8!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage