我正在尝试将数据写入模板并下载。 如果我使用示例文件作为模板,它可以工作,但是一旦我使用它自己就说它已经腐败了。
有什么想法吗?
我的代码是:
<?php
require_once 'PHPExcel.php';
// Create new PHPExcel object
$fileName = '31docproperties.xlsx'; //location of template for PID type
$fileType = 'Excel2007';
$objReader = PHPExcel_IOFactory::createReader($fileType);
$objPHPExcel = $objReader->load($fileName);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B4', 'Test Data');
// Redirect output to a client’s web browser (Excel2007)
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="01simple.xlsx"');
header('Cache-Control: max-age=0');
ob_end_clean();
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;
?>
答案 0 :(得分:0)
这是一个古老的话题,但与我目前的问题完全相关。
我的情况非常相似:我创建了一个PHP脚本,它使用PHPExcel库从模板创建一个excel文件。
有一段时间,它没有问题。但是当我更改环境时,下载的文件不再可读。
我已经搜索了很长时间。 我没有找到任何可能的解决方案。 我可以找到一些想法,但没有任何作用。
最后,我开始观看图书馆提供的示例。 我找到了名为'30template.php'的例子。这个例子正是我所需要的。 如果我直接使用脚本,则下载的文件不可读,就像我自己的一样。 但是如果修改脚本以便在本地保存文件,那么文件就可以了!
我找不到任何线索来解决这个问题。
也许这种观点有助于找到解决方案。
原始模板编码的方式是否可能与问题有关?它与脚本文件的编码有关吗?我可以理解有一个链接,但我不知道如何控制模板的编码。