热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Laravel8导出excel返回值的简单想法

最近在使用Maatwebsite\Excel扩展进行excel的导出功能,具体怎么操作,这里不详细说了,通过下面代码导出:导出excel【$head是excel表头,$list是数






最近在使用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的network查看返回值,前端拿到的是文件流,如下:

Laravel8导出excel返回值的简单想法

为什么直接运行接口返回的是个对象,前端拿到居然变为文件流了?

原来是返回的时候,自动给返回头加了两个参数

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

Content-Disposition不就是对象里面的头消息嘛

Laravel8导出excel返回值的简单想法




推荐阅读
  • 本文详细介绍如何在 Apache 中设置虚拟主机,包括基本配置和高级设置,帮助用户更好地理解和使用虚拟主机功能。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 在测试软件或进行系统维护时,有时会遇到电脑蓝屏的情况,即便使用了沙盒环境也无法完全避免。本文将详细介绍常见的蓝屏错误代码及其解决方案,帮助用户快速定位并解决问题。 ... [详细]
  • 本文详细介绍了如何在Mac操作系统中为IntelliJ IDEA配置更高的内存限制,以提高开发效率和性能。 ... [详细]
  • 函子(Functor)是函数式编程中的一个重要概念,它不仅是一个特殊的容器,还提供了一种优雅的方式来处理值和函数。本文将详细介绍函子的基本概念及其在函数式编程中的应用,包括如何通过函子控制副作用、处理异常以及进行异步操作。 ... [详细]
  • D17:C#设计模式之十六观察者模式(Observer Pattern)【行为型】
    一、引言今天是2017年11月份的最后一天,也就是2017年11月30日,利用今天再写一个模式,争取下个月(也就是12月份& ... [详细]
  • 基于SSM框架的在线考试系统:随机组卷功能详解
    本文深入探讨了基于SSM(Spring, Spring MVC, MyBatis)框架构建的在线考试系统中,随机组卷功能的设计与实现方法。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • 本文探讨了如何在Python中通过特定的方法,为列表中的交替元素创建递增的模式,这对于数据处理和项目开发具有实际应用价值。 ... [详细]
  • 本文详细介绍了 Redis 中的主要数据类型,包括 String、Hash、List、Set、ZSet、Geo 和 HyperLogLog,并提供了每种类型的基本操作命令和应用场景。 ... [详细]
  • 本文详细介绍了如何在最新版本的Xcode中重命名iOS项目,包括项目名称、应用名称及相关的文件夹和配置文件。通过本文,开发者可以轻松完成项目的重命名工作。 ... [详细]
  • 本文将详细探讨 Python 编程语言中 sys.argv 的使用方法及其重要性。通过实际案例,我们将了解如何在命令行环境中传递参数给 Python 脚本,并分析这些参数是如何被处理和使用的。 ... [详细]
  • 最近与一位爱好中国古典文学的女孩交往,她分享了这样一首诗:‘钓日礁云共白头,也无荣辱也无忧;相逢话到投机处,山自青青水自流。’请问这首诗表达了什么样的情感或意图? ... [详细]
  • td{border:1pxsolid#808080;}参考:和FMX相关的类(表)TFmxObjectIFreeNotification ... [详细]
  • 本文详细介绍了如何在Spring框架中设置事件发布器、定义事件监听器及响应事件的具体步骤。通过实现ApplicationEventPublisherAware接口来创建事件发布器,利用ApplicationEvent类定义自定义事件,并通过ApplicationListener接口来处理这些事件。 ... [详细]
author-avatar
Jenny821010
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有