php - PHPExcel下载的文件给出错误,因为文件扩展名在实时服务器中不正确
问题描述
我正在使用 PHPExcel 库在 CodeIgniter 框架中下载 excel 表。它在本地服务器上工作正常,它下载 excel 表文件,打开并显示正确的数据,现在当我在它正在下载的实时服务器中运行相同的代码时,当我打开该文件时,它给出了这个错误,你正在尝试的文件打开“filename.xsl”的格式与文件扩展名指定的格式不同。在打开文件之前验证文件没有损坏并且来自受信任的来源。
这是代码。
$this->excel->createSheet();
$this->excel->setActiveSheetIndex(2);
$filename='Monthly Report'.date("m-d-Y, h:i:s").'.xls';
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel5');
$objWriter->save('php://output');
我也用过method ob_end_clean();
之前的$objWriter,还是报同样的错误。任何帮助将不胜感激。[它在本地服务器上的实时服务器中运行良好]
解决方案
ob_end_clean(); ob_start();
在 $objWriter->save('php://output'); 之前使用了上面的代码行 它奏效了。
推荐阅读
- sql - 如何从 SQL Server 数据库转换此时间格式
- javascript - Mongo - 如何在插入或更新给定文档之前检查现有字段
- javascript - 我可以检测 Facebook 共享浏览器是否已关闭?
- excel - VBA循环遍历表
- python - 如何在 python 中使用 append 将多个输入写入文本文件?
- sql - 子查询返回超过 1 个
- php - Elasticsearch-PHP 重新索引未按预期工作
- c++ - 使用链接器选择 C++ 函数的实现
- java - Firebase Android ML Kit: Way to hide display values on QR code
- docker - Filebeat multiline patter