PHPExcel将HTML内容保存到xls / x文件

时间:2014-03-29 06:06:30

标签: php phpexcel

我有这段代码:

$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'test');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="file.xls"');
$objWriter->save('php://output');

我有两个问题。 我尝试使用.xlsx扩展程序保存文件的任何标头都没有用。他们都给了我一个损坏的文件。

我的第二个问题更为重要 - 此代码适用于.xls扩展名。

但它下载的文件包含页面的所有HTML内容,当我打开它时,Excell给我一个错误,我错过了css文件。

我在使用index.php的{​​{1}}页面上使用此代码时,会在include()中调用css文件。

任何帮助都会受到赞赏,谢谢!

1 个答案:

答案 0 :(得分:0)

我在4-5个项目中使用了这个代码并且工作得很好,检查是否有帮助

$objPHPExcel->getActiveSheet()->setTitle('Customers');
            $objPHPExcel->setActiveSheetIndex(0);

            header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
            header('Content-Disposition: attachment;filename=Customers-"' . date('d-m-y-h-i-s', time()));
            header('Cache-Control: max-age=0');

            $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
            $objWriter->save('php://output');
            exit;