Phpexcel创建错误的文件

问题描述 投票:1回答:1

这是我创建xlsx文件并使用openoffice打开它的简单代码

require(APPPATH.'/PHPExcel-1.8/Classes/PHPExcel.php');
require(APPPATH.'/PHPExcel-1.8/Classes/PHPExcel/Writer/Excel2007.php');
$this->load->library('excel');
$objPHPExcel = new PHPExcel();

$objPHPExcel->setActiveSheetIndex(0)
   ->SetCellValue('A1', 'Calendario Attivit');

$filename = "prova".".xlsx";
header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
header('Content-Disposition: attachment;filename="'.$filename.'"');
header("Cache-Control: max-age=0");
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');  
$objWriter->save('php://output');
exit;

该文件已下载,但是当打开它时,我得到了这个:

enter image description here

有人可以帮助我吗?

php excel codeigniter codeigniter-3 phpexcel
1个回答
1
投票

尝试在输出之前添加ob_end_clean()

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');  
ob_end_clean();
$objWriter->save('php://output');
© www.soinside.com 2019 - 2024. All rights reserved.