이번 글은 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의 네트워크를 엽니다. 프런트 엔드가 얻는 것은 다음과 같이 파일 스트림입니다.
인터페이스를 직접 실행하여 반환된 객체가 파일 스트림으로 바뀌는 이유는 무엇입니까? 프론트 엔드가 그것을 얻나요?
반환할 때 두 개의 매개변수가 자동으로 반환 헤더에 추가되는 것으로 나타났습니다
Content-Disposition:attachment; filename=20221208152026.xls Content-Type:application/vnd.ms-excel
Content-Disposition은 객체의 헤더 메시지가 아닙니다
위 내용은 Laravel8에서 Excel 반환 값을 빠르게 내보내는 방법!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!