使用包含文件打破PHPExcel输出

时间:2013-12-12 00:32:22

标签: php include phpexcel

我使用文件从数据库构建数组,我想基于此数组写入excel表。

因此我将文件包含在以下代码中

(下面的代码是用于从Excel模板中读取,编辑数据,写入文件并为用户提示下载的代码的完整复制粘贴)

/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('Europe/London');

if (PHP_SAPI == 'cli')
    die('This example should only be run from a Web Browser');

/** PHPExcel_IOFactory */
require_once '../Classes/PHPExcel/IOFactory.php';

$objReader = PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load("template.xls");

//HERE IS MY INCLUDE FILE
include($_SERVER["DOCUMENT_ROOT"] . "/includes/excelwrite_data.php");   

$objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A2', 'TEST')    

// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="01simple.xls"');
header('Cache-Control: max-age=0');

header('Cache-Control: max-age=1');


header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); 
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header ('Cache-Control: cache, must-revalidate'); 
header ('Pragma: public');

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

这会生成一个乱码的excel文件输出,并会显示已损坏数据的警告(类似于当你的php导致某些echod字符混乱时会发生什么。我已经检查过我的包含文件没有回应。

奇怪的是,如果我真的将包含文件的内容粘贴到上面代码中包含的位置,它就能完美地运行。

是否存在与PHPExcel不兼容的包含内容?

非常感谢你提前做出的想法。

0 个答案:

没有答案