PHPExcel生成html而不是xls

时间:2014-03-04 10:52:12

标签: phpexcel xls xlsx

我陷入了PHPExcel问题。要生成xls文件,我使用以下代码

require_once dirname(__FILE__) . '/PHPExcel/Classes/PHPExcel.php';
$objPHPExcel = new PHPExcel();
$objPHPExcel->getActiveSheet()->setTitle('Data');

$objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A1', 'Hello')
            ->setCellValue('B2', 'world!')
            ->setCellValue('C1', 'Hello')
            ->setCellValue('D2', 'world!');

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

如果我直接启动此php文件,我会收到正确的xls文件。所以这段代码正常工作。 但是我必须在表单提交上添加launchinig这个代码。在这种情况下,我收到文件名为“01simple.xlsx”的html文件。

为什么会这样?有什么想法吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

你可以添加ob_end_clean();在渲染输出之前。