>  기사  >  PHP 프레임워크  >  Laravel8에서 Excel 반환 값을 빠르게 내보내는 방법!

Laravel8에서 Excel 반환 값을 빠르게 내보내는 방법!

藏色散人
藏色散人앞으로
2022-12-08 17:02:411709검색

이번 글은 Laravel8에서 Excel 반환 값을 빠르게 내보내는 방법을 주로 소개합니다. 매우 간단합니다~ 필요한 친구들에게 도움이 되었으면 좋겠습니다!

【관련 추천: laravel 동영상 튜토리얼

Laravel8에서 Excel 반환 값을 내보내는 간단한 아이디어

최근에 MaatwebsiteExcel 확장 프로그램을 사용하여 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 반환 값을 빠르게 내보내는 방법!

인터페이스를 직접 실행하여 반환된 객체가 파일 스트림으로 바뀌는 이유는 무엇입니까? 프론트 엔드가 그것을 얻나요?

반환할 때 두 개의 매개변수가 자동으로 반환 헤더에 추가되는 것으로 나타났습니다

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

Content-Disposition은 객체의 헤더 메시지가 아닙니다

Laravel8에서 Excel 반환 값을 빠르게 내보내는 방법!

위 내용은 Laravel8에서 Excel 반환 값을 빠르게 내보내는 방법!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제