ホームページ >PHPフレームワーク >Laravel >Laravel8でExcelの戻り値を素早くエクスポートする方法!

Laravel8でExcelの戻り値を素早くエクスポートする方法!

藏色散人
藏色散人転載
2022-12-08 17:02:411758ブラウズ

この記事では主にLaravel8でエクセルの戻り値を手早くエクスポートする方法を紹介しています、とても簡単ですよ〜困っている友達の役に立てば幸いです!

[関連する推奨事項: laravel ビデオ チュートリアル ]

Laravel8 で Excel の戻り値をエクスポートする簡単なアイデア

最近Maatwebsite \Excel 拡張機能を使用すると、Excel のエクスポート機能が実行されます。操作方法についてはここでは詳しく説明しません。次のコードでエクスポートされます:

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

興味本位でこの戻り値を出力しました。

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

結果は次のとおりです:

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

明らかに彼はターゲットです。

私はフロントエンドとバックエンドを分離しており、インターフェイスは上記で直接コーディングされているため、フロントエンドの生徒は a タグを使用してインターフェイス アドレスにジャンプしてダウンロードを行うことができ、成功する可能性があります。ただし、戻り値を確認するには、F12 のネットワークを開いてください。フロントエンドが取得するのは、次のようなファイル ストリームです:

Laravel8でExcelの戻り値を素早くエクスポートする方法!

インターフェイスを実行すると、なぜ直接オブジェクトが返されるのでしょうか。フロントエンドはそれをファイルとして取得しますか? フローしますか?

返されると、2 つのパラメータがリターン ヘッダーに自動的に追加されることがわかりました

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

Content-Disposition はオブジェクトのヘッダー メッセージではありません

Laravel8でExcelの戻り値を素早くエクスポートする方法!

以上がLaravel8でExcelの戻り値を素早くエクスポートする方法!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。