2015-05-01 113 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://輸出流中 –