[英]PHPEXCEL export file is not working after session handler class
index.php包含
.......
require_once('WABRegistry/helpers/Session_Handler.php');
session_start();
.......
然后我使用PHPEXCEL:
$objPHPExcel->setActiveSheetIndex(0);
// Save Excel 2007 file
header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="polls_results_'.time().'.xlsx"');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->setIncludeCharts(TRUE); //First Sheet Chart
$objWriter->save('php://output');
我可以看到以下错误消息
问题:当我尝试打开文件时,它在mac上给我错误:
Excel cannot open this file
the file format or file extension is not valid. bla bla
如果我评论//require_once('WABRegistry/helpers/Session_Handler.php');
它行得正常
Session_Handler.php包含很多代码,如果需要我会粘贴所有代码
$session = new sessionHandle();
session_set_save_handler(array(&$session,"open"),
array(&$session,"close"),
array(&$session,"read"),
array(&$session,"write"),
array(&$session,"destroy"),
array(&$session,"gc"));
在文本编辑器中打开Excel文件,查找任何前导或尾随空白字符,或前导BOM表头,或者yoru会话处理程序可能注入输出流的任何明显的明文错误消息
导致此问题的最常见原因是与输出相关的空格(可能在关闭后?>
)。
使用输出缓冲,然后在调用save()之前立即丢弃缓冲区是一个常见的工作环境; 但最好解决问题,而不是简单地用输出缓冲隐藏它。 您会注意到没有任何PHPExcel代码有任何结束?>
以确保库本身不可能导致此问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.