我陷入了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文件。
为什么会这样?有什么想法吗?
提前致谢。
答案 0 :(得分:0)
你可以添加ob_end_clean();在渲染输出之前。