Silex导出Excel

要用PHP导出Excel当然要用到著名PHPExcel: https://github.com/PHPOffice/PHPExcel
但是在Silex的Controller里导出Excel的却找了很久也没有找到相应的攻略。(哭
于是自己一步步的把phpexcel作为一个plugin导入Silex中。这期间遇到不少ClassNotFound的问题,但是每次都靠暴力的
import 来解决,PHPExcel的源码应该多了很多import。哈哈。不管了,至少PHPExcel不报错了。
接下来是Response返回用户文件下载。看了很多phpExcel的应用都是在本地直接生成而不是提供给用户的,
而excel和cvs不同的是excel是二进制流,不能说直接设置下Content-type就可以输出文件。
文件的关键来了:
   
   
return new Response(ob_get_clean(),200,array(
"Content-Type"=>"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"Cache-Control"=>"max-age=0"
));
ob_get_clean 的意思是从输出的buffer中读取内容。这样我们就搞定了全部。


参考链接:
https://github.com/Jaza/ExcelServiceProvider     这个链接我想说比较坑,本来想参考这个的,但是里面的内容根本就不全,不过原理就是一个流的处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值