Home > PHP Framework > Laravel > body text

How to quickly export excel return values ​​in Laravel8!

藏色散人
Release: 2022-12-08 20:32:54
forward
1731 people have browsed it

This article mainly introduces how to quickly export excel return values ​​in Laravel8. It is very simple~ I hope it will be helpful to friends in need!

[Related recommendations: laravel video tutorial]

Simple idea of ​​exporting excel return value in Laravel8

Recently using Maatwebsite \Excel extension performs the export function of excel. I won’t go into details here about how to operate it. It is exported through the following code:

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

I printed this return value out of curiosity:

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

The results are as follows:

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] => 
)
Copy after login

Obviously he is a target.

Because I separate the front-end and back-end, and the interface is directly coded above, the front-end students use the a tag to jump to the interface address for downloading, and it can be successful. But open the network of F12 to view the return value. What the front end gets is a file stream, as follows:

How to quickly export excel return values ​​in Laravel8!

Why does running the interface directly return an object, but the front end gets it as a file? Flowed?

It turns out that when returning, two parameters are automatically added to the return header

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

Content-Disposition is not the header message in the object

How to quickly export excel return values ​​in Laravel8!

The above is the detailed content of How to quickly export excel return values ​​in Laravel8!. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:learnku.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template