我使用文件从数据库构建数组,我想基于此数组写入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不兼容的包含内容?
非常感谢你提前做出的想法。