2015-05-01 177 views
0

我试图用PHPExcel下载电子表格,但到目前为止只是一个空白页面。PHPExcel文件没有下载

$items = array("test 1", "test 2", "test 3"); 

/** PHPExcel */ 
require_once dirname(__FILE__) . '/../../Classes/PHPExcel.php'; 

// Create new PHPExcel object 
//echo date('H:i:s') . " Create new PHPExcel object\n"; 
$objPHPExcel = new PHPExcel(); 

// Set properties 
$objPHPExcel->getProperties()->setCreator("User 1"); 
$objPHPExcel->getProperties()->setLastModifiedBy("User 1"); 
$objPHPExcel->getProperties()->setTitle(" Quotes"); 
$objPHPExcel->getProperties()->setSubject("Quotes"); 
$objPHPExcel->getProperties()->setDescription("Quotes"); 

// Add some data 
$objPHPExcel->setActiveSheetIndex(0); 

$loop = 0; 
foreach($items as $value) { 

    $objPHPExcel->getActiveSheet()->SetCellValue('No', $loop); 
    $objPHPExcel->getActiveSheet()->SetCellValue('Item Name', $value); 

    $loop++; 
} 

// Redirect output to a client’s web browser (Excel5) 
header('Content-Type: application/vnd.ms-excel'); 
header('Content-Disposition: attachment;filename="quotes.xls"'); 

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

我已经启用了错误,仍然是空白页。 我该如何解决?没有文件正在下载?

+0

你首先看你的日志,也许做一个小小的调试 –

+0

我已经看了我的日志,没有发现任何关于这个文件。 – user892134

回答

2

那么你应该应该得到的错误,或者说写你的日志,因为你的代码将抛出一个致命

Fatal error: Uncaught exception 'PHPExcel_Exception' with message 'Invalid cell coordinate NO' in ... 

因为NO不是在Excel工作表中有效的单元格地址,也不是Item Name

的问题是这些行:

$objPHPExcel->getActiveSheet()->SetCellValue('No', $loop); 
$objPHPExcel->getActiveSheet()->SetCellValue('Item Name', $value); 

一个有效信元地址是一个列(如A)C与行ombined(如1)得到的A1

单元格地址也许你的意思是这样的:

$objPHPExcel->getActiveSheet()->SetCellValue('A'.($loop+1), 'No'); 
$objPHPExcel->getActiveSheet()->SetCellValue('B'.($loop+1), 'Item Name'); 
$objPHPExcel->getActiveSheet()->SetCellValue('C'.($loop+1), $loop); 
$objPHPExcel->getActiveSheet()->SetCellValue('D'.($loop+1), $value); 
+0

谢谢,我现在通过做你的更改下载它,但我也必须将文件移动到'PHPExcel'所在的文件夹中。此外,该文件是乱码,但感谢您的帮助。 – user892134

+0

“Gibberish”是二进制xls文件,但如果它不在Excel中打开,那么您可能会从代码中注入额外的输出到php://输出流中 –