1

我对 PHPExcel 有一些问题,它会抛出无法读取(生成)文件,这里是代码:

include 'PHPExcel/PHPExcel.php';

$rtype = $_REQUEST['rtype'];    
// set headers to redirect output to client browser as a file download
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="report_'.$rtype.'.xls"');
header('Cache-Control: no-cache');
header('Pragma: no-cache');
header('Expires: 0');

//-----Create a reader, set some parameters and read in the file-----
$objReader = PHPExcel_IOFactory::createReader('CSV');
$objReader->setDelimiter(','); 
$objReader->setEnclosure('');
$objReader->setLineEnding("\r\n");
$objReader->setSheetIndex(0);
$objPHPExcel = $objReader->load('db_report.php?rtype='.$rtype.'&type=csv');

//-----Create a Writer and output the file to the browser-----
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');

已经检查了 db_report.php 并且它输出了一个 csv 文件,所以这个文件没有错

4

1 回答 1

0

您尝试加载字符串值 'db_report.php?rtype='.$rtype.'&type=csv' 它不是 url。

加载第一个数据,例如:

$data = file_get_contents('http://domen.com/db_report.php?rtype='.$rtype.'&type=csv');
$objPHPExcel = $objReader->load($data);
于 2011-05-18T09:21:30.443 回答