Heim  >  Artikel  >  PHP-Framework  >  So exportieren Sie schnell Excel-Rückgabewerte in Laravel8!

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

藏色散人
藏色散人nach vorne
2022-12-08 17:02:411729Durchsuche

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');

Ich habe diesen Rückgabewert aus Neugier gedruckt:

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

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] => 
)

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen