PHPExcel:标题充满了胡言乱语

时间:2014-07-01 08:10:01

标签: symfony phpexcel

我不想将html表提取到.xsl文件中。我已经在symfony2中安装了PHPExcel,但是当我想通过将随机页面提取到.xls文件进行测试时,第一部分的文件充满了胡言乱语,我真的不知道为什么:http://images4.hiboox.com/images/2714/f657dfd1d406e941cfbe3ff9dbc10f7b.png

在此之下,我已经获得了我的HTML表格。

这里是代码,谢谢:

$objPHPExcel = new \PHPExcel();
    $objPHPExcel->getProperties()->setCreator("foo");
    $objPHPExcel->getProperties()->setLastModifiedBy("bar");
    $objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
    $objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
    $objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");
    $objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Hello');
    $objPHPExcel->getActiveSheet()->SetCellValue('B2', 'world!');
    $objPHPExcel->getActiveSheet()->SetCellValue('C1', 'Hello');
    $objPHPExcel->getActiveSheet()->SetCellValue('D2', 'world!');
    echo date('H:i:s') . " Write to Excel2007 format\n";
    $objWriter = new \PHPExcel_Writer_Excel2007($objPHPExcel);
    //$objWriter->save(str_replace('.php', '.xlsx', __FILE__));
    //$objWriter->save('a.xls');
    header('Content-type: application/vnd.ms-excel');
    header('Content-Disposition: attachment; filename="PV AAPC"');
    $objWriter->save('php://output');

2 个答案:

答案 0 :(得分:0)

在发送标题之前显示一些调试信息。

删除“echo date ...”行,它就没问题了!

答案 1 :(得分:0)

确保您没有发送任何其他内容进行输出。确保没有echo或print语句;脚本文件中没有BOM头; ?><?php代码之间没有空行。

您还使用Excel2007 Writer(生成OfficeOpenXML格式.xlsx文件)编写文件,但发送BIFF格式.xls文件的内容类型。

您需要为OfficeOpenXML格式application/vnd.openxmlformats-officedocument.spreadsheetml.sheet文件(使用.xlsx Writer生成)发送Excel2007的内容类型标头;或者如果要创建BIFF格式Excel5文件,请使用.xls Writer,该文件需要内容类型标题application/vnd.ms-excel