Zend2 控制器中的 PHPExcel

2024-01-02

我正在尝试让 PHPExcel 与 Zend2 一起使用。实际上它正在工作,但不符合我的预期(我可以写入文件,但不能在不保存的情况下下载)。我找到了一些例子,你只需做这样的事情:

$objPHPExcel = ....

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="01simple.xls"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');

并且文件被允许下载。如何在 Zend2 Controller 中实现类似的功能?到目前为止我已经尝试过:

public function generateRaportAction()
{
    $objPHPExcel = new PHPExcel();
    $objPHPExcel->getActiveSheet()->setCellValue( 'B8', 'Some value' );
    $objWriter = \PHPExcel_IOFactory::createWriter( $objPHPExcel, 'Excel5' );

    $response = $this->getEvent()->getResponse();
    $response->getHeaders()->clearHeaders()->addHeaders( array(
        'Pragma' => 'public',
        'Content-Type' => 'application/vnd.ms-excel',
        'Content-Disposition' => 'attachment; filename="test.xls"',
        'Cache-Control' => 'must-revalidate, post-check=0, pre-check=0',
        'Content-Transfer-Encoding' => 'binary',
    ) );
    $objWriter->save( 'php://output' );
    return $response;
}

但它在我的页面上给了我“类似回声”的输出。我的第二次尝试是:

$response->setContent($objWriter->save( 'php://output' ));

但结果是一样的。


正如@Aydin Hassan 评论的那样,我尝试过:

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
ob_start();
$objWriter->save('php://output');
$excelOutput = ob_get_clean();

然后就简单地过去了$excelOutput回复内容,效果简直太棒了!

$response->setContent($excelOutput);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Zend2 控制器中的 PHPExcel 的相关文章

  • 如何解决错误:消息:fsockopen():无法连接到 ssl://smtp.gmail.com:465(连接被拒绝)

    我在用着代码点火器我创建了一个电子邮件功能来将电子邮件发送到特定的电子邮件 ID public function email email config protocol smtp config smtp host ssl smtp gmai
  • 添加和完成 PHP 源代码文档的工具 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有几个已完成的较旧的 PHP 项目 其中有很多内容 我想以 javadoc phpDocumentor
  • TCPDF 为一个文档中的不同页面设置不同的页眉

    有没有办法使文档中第一页的页眉徽标和第二页的页眉徽标不同 我认为在添加页面之间更改标题数据可能会解决问题 但在我的测试中 添加第一页后设置标题似乎没有效果 other stuff pdf gt setHeaderFont array PDF
  • 如何使用 facebook 用户登录我的网站?

    我想知道 facebook 如何让用户登录我们的网站 我的意思是用户需要注册到我的网站才能发表评论 我如何通过我的 php 代码检查它是否是登录用户 我听说你只能用javascript检查它是否是登录用户 感谢您的任何解释 您可以使用脸书
  • localhost/test.php 不返回任何内容

    我正在遵循教程构建一个网络应用程序 我创建了一个简单的test php网络空间中的文件 var www html 问题是当我输入localhost test php在浏览器地址窗口中 它返回一个空页面 我试过localhost php in
  • 将 php filter_var 与 mysql_real_escape_string 结合使用

    我想首先说 我意识到 PDO mysqli 是新标准 并且已被 SO 广泛覆盖 然而 在这种特殊情况下 我没有时间在启动客户端站点之前将所有查询转换为 PDO 以下内容已在网站上的大多数查询中使用 我可以补充一下 这不是我所使用的 user
  • 如何简单地检查服务器PHP版本是否为5或以上?

    我正在为程序创建预安装清单 该程序需要 PHP5 因此我需要检查列表脚本来检查 PHP5 的可用性 有一个函数为phpversion 将以以下格式返回5 3 6或类似的 然而 我希望清单非常简单 只是告诉你是或否 所以显示当前版本对我没有多
  • PHP session_destroy() 警告会话对象销毁失败[重复]

    这个问题在这里已经有答案了 我有这个 php 脚本 但在破坏会话时遇到问题 我收到这个警告 警告 session destroy 会话对象销毁失败 第 6 行 C xampp htdocs template nota finalizare
  • 如何在 Symfony 和 Doctrine 中实现 ManyToMany 和 OneToMany?

    我发现该文档在解释实体之间关系的创建方面非常糟糕 因此 我必须向我的 StackExchangers 同胞寻求帮助 所以 我正在尝试构建以下案例 Case 1 A User属于一个或多个Group and a Group可以有很多Permi
  • PHP 使用今天的日期生成一个随机数

    我正在尝试为内容块 在网页上 分配一个随机生成的数字 该数字基于今天的日期 无论是什么 和固定数字 由于某种原因 输出的数字种类存在巨大差异 例如 当我在本地测试我的代码时 生成的数字对我来说足够好 正数 但在实际的实时服务器上时 它们通常
  • WooCommerce:检查商品是否已在购物车中

    我从中发现了这个很棒的片段website https joebuckle me quickie woocommerce check if item already in cart 以下是检查购物车中是否存在特定产品的函数 function
  • 如何在按钮上执行mysql [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions PHP 单击按钮时如何执行 SQL
  • PHP-向某些浏览器显示消息

    我已经搜索过这个 我发现的一切都超出了我的需要 我以前用 JavaScript 做过这个 但我真的更喜欢使用 PHP 我将如何根据访问者使用的浏览器向他们显示消息 Example IE 用户会看到 您正在使用 Internet Explor
  • 如何使用 PHP 通过 JSON 发送 HTML 元素?

    以下功能 try query this gt pdo gt prepare SELECT FROM bookings WHERE TourID AND dTourDate and Status NOT LIKE Cancelled quer
  • Laravel Redis 配置

    我目前正在使用 Laravel 和 Redis 创建一个应用程序 几乎一切都工作正常 我按照文档中的说明扩展了身份验证 用户可以订阅 登录 注销 我可以创建内容 所有内容都存储在 Redis 中 但我有一个问题 我无法运行 php arti
  • 为什么 count 比 $count 差

    我只是在查看不同问题的答案以了解更多信息 我看到一个answer https stackoverflow com a 4891402 429850这表明在 php 中编写这样的做法是不好的做法 for i 0 i
  • 如何访问带有美元符号的 PHP 对象属性?

    我有一个 PHP 对象 其属性中有一个美元 符号 如何访问该属性的内容 例子 echo object gt variable Ok echo object gt variable WithDollar Syntax error With 变
  • 在同一服务器上的 2 个子域中安装 2 个 WordPress 时共享用户

    我有 2 个 WordPress 网站 位于 2 个不同的子域中 例如test1 abc com and test2 abc com 这两个网站都激活了 wp require 插件 只有登录用户才能看到该网站 我们想要创建一个系统 如果用户
  • 动态重新定义 PHP 类函数?

    我试图弄清楚如何动态导入大量 PHP 类函数 例如 class Entity public function construct type require once type functions php person new Entity
  • 我可以在 php 中的 SESSION 数组上使用 array_push 吗?

    我有一个想要在多个页面上使用的数组 因此我将其设为 SESSION 数组 我想添加一系列名称 然后在另一个页面上 我希望能够使用 foreach 循环来回显该数组中的所有名称 这是会议 SESSION names 我想使用 array pu

随机推荐

  • TextBlock 画笔给出的颜色不正确

    我有一个 TextBlock 和一个 Rectangle 它们都位于一个空的 WPF4 窗口中 TextBlock 的前景和矩形的 Fill 都设置为 SolidColorBrush 其值为 80800000 它看起来是这样的 矩形的颜色是
  • Paypal 沙箱 API 内部错误

    过去几个月我一直在使用 Paypal Merchant SDK 和 Sandbox 凭证 一切工作正常 但今天 我遇到了这个奇怪的问题 每当我调用 SetExpressCheckout 的 API 时 我都会得到由于内部错误 交易失败有错误
  • 授予角色时出现缺少权限错误

    我在尝试向服务器管理员授予角色时遇到问题 对于常规权限 它工作正常 但如果它是服务器管理员角色 或具有权限的其他角色 即使我是所有者 它也会给出以下错误 discord ext commands errors CommandInvokeEr
  • 快速关系数据库,可与 Python 简单使用[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 对于我的链接抓取程序 用 python3 3 编写 我想使用数据库来存储大约 100 000 个网站
  • Java 重写 hashCode() 方法有任何性能问题吗?

    如果我会覆盖hashCode 方法会降低应用程序的性能 我在应用程序的许多地方重写了这个方法 是的 如果 hashCode 方法的实现方式不好 则可能会降低散列集合的性能 hashCode 方法的最佳实现应该为唯一对象生成唯一的 hashC
  • Android webview 中的缓存

    Android webview中加载移动网页和非移动网页哪一种更快 加载缓存还是根本不加载 加载它的推荐样式是什么 现在 当我不在所有非移动网站上加载缓存时 加载速度比在本机浏览器中加载它们时要慢得多 不要使用这些 viewer getSe
  • Rails 使用什么 Ruby 技术来使我的控制器方法呈现视图?

    只是好奇是否有人知道在 Rails 框架中使用什么 Ruby 技术来完成以下任务 如果我不写 比如说 index方法在 Rails 控制器上 如果 URL 与该路由匹配 Rails 仍将呈现索引视图文件 这是有道理的 因为我的控制器继承自父
  • 对 C# 类中的属性进行排序

    我们需要解析的文件格式如下 v1 000 sammy endpoint blah 它是供应商向我们提供的有序固定宽度格式 因此这 5 个字段中的每一个都映射到类中的特定属性 实际格式有 gt 30 我想通过将序列应用于属性来使用反射来解析它
  • pandas:基于开始/结束日期的聚合

    它实际上是一个反聚合 因为我有一个这样构造的数据集 id type first year last year A t1 2009 2014 A t1 2010 2015 B t1 2007 2009 B t2 2008 2011 但我需要按
  • 处理 DDD 中的嵌套聚合

    我刚刚开始使用 DDD 并且在弄清楚如何适应数据的关系性质时遇到了一些困难 我拥有我相信会被视为我的聚合根的东西 但聚合也有它自己的聚合 不想违反德墨忒尔定律 我想知道我的想法是否错误 并希望一些 DDD 专家可以提供一些见解 我的聚合根是
  • 将 tibble 转换为带有列标题的数据框

    我从 Excel 工作表导入数据 如下所示 F4 Off lt readxl read xlsx myExcel xlsx sheet Offline col names TRUE range I1 L285 F4 Off F4 On lt
  • React - 替换 props.children 中的子组件

    正如在另一个中看到的question https stackoverflow com questions 32370994 how to pass props to this props children 可以使用 React Childr
  • Laravel - 使用哪个缓存驱动程序?

    这是我第一次处理缓存 尽管我浏览了 laravel 文档和其他各种网站以获取如何设置它的说明 但我仍然有点不知所措 不知道该使用哪个以及有什么不同缓存驱动程序可以 我当前的情况是 我有一个日程安排系统 您可以在其中创建本周课程的 pdf 文
  • 如何从电子中的 new BrowserWindow() 获取窗口对象?

    有没有办法重用窗口对象 这可能是必要的 因为相应的窗口可能是动态生成的 var electron require electron var app electron app var BrowserWindow electron Browse
  • 处理器在等待主内存读取时做什么

    假设 L1 和 L2 缓存请求导致未命中 处理器是否会停止运行 直到访问主内存为止 我听说过切换到另一个线程的想法 如果是的话 用什么来唤醒停滞的线程 现代 CPU 中会同时发生很多很多事情 当然 任何需要内存访问结果的事情都无法进行 但可
  • OpenCV+Eclipse+Android:错误org.opencv.video Video.java

    我一直在安装 OpenCV 这是教程 http docs opencv org doc tutorials introduction android binary package android binary package html 我阅
  • UWP:应用程序栏/命令栏中的图标大小

    我应该使用什么尺寸的图标应用栏 命令栏 https msdn microsoft com en us windows uwp controls and patterns app bars 我找不到东西磁贴和图标资源指南 https msdn
  • 如何更改ggplot2中图例标签上的科学记数法

    我编写此代码是为了创建地图 ggplot data Canada2015 Import 3 borders database world colour grey60 fill grey90 geom polygon aes x long y
  • 如何获取vim中当前正在比较的文件列表

    我正在编写一个 vim 插件 在其中我需要确定当前正在比较的所有文件 这就是那些diff已设置 我已经仔细阅读了手册 但找不到太多内容 是否有可能做到这一点 这个问题实际上与问题相关如何检测 vim 中窗口的位置 https stackov
  • Zend2 控制器中的 PHPExcel

    我正在尝试让 PHPExcel 与 Zend2 一起使用 实际上它正在工作 但不符合我的预期 我可以写入文件 但不能在不保存的情况下下载 我找到了一些例子 你只需做这样的事情 objPHPExcel header Content Type