我已经将 PHPExcel 库与 Kohana 3 集成在一起,并且在输出 xls 文件时遇到了一些问题。当我尝试在服务器上创建 xls 文件(保存在服务器文件系统上)时,一切都很好,但是当我尝试使用 header() 输出它时,文件已损坏并在 Excel 中显示一些奇怪的字符。
我在控制器/action_index 中的代码:
$this->auto_render = FALSE;
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'Hello world!');
$type = 'xls';
$mimes = Kohana::config('mimes');
$mime = $mimes[$type][0];
$this->request->headers['Content-Type'] = "$mime; charset=utf-8;";
$this->request->headers['Content-Disposition'] = 'attachment;filename="01simple.xls"';
$this->request->headers['Cache-Control'] = 'max-age=0';
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save("php://output");`
谢谢你的帮助,对不起我的英语。
PS:当我尝试以同样的方式输出 pdf 时,一切看起来都很好,问题只是 xls 和 xlsx ......