2017-10-06 1407 views
0

我從服務器克隆了一個項目並安裝在本地設置中。 我想使用PHPExcel將excel文件導出到瀏覽器。它在服務器上工作正常。但是本地設置存在問題。 另外我檢查了一些列和字段,他們很好。 下面是代碼:PHPExcel導出無法正常工作:顯示「無法訪問網站」

<?php 
//PHPExcel starts from here 
error_reporting(E_ALL); 
ini_set('display_errors', TRUE); 
ini_set('display_startup_errors', TRUE); 
date_default_timezone_set('Asia/Kathmandu'); 

if (PHP_SAPI == 'cli') 
    die('Error in loading PHPExcel'); 


// Create new PHPExcel object 
$objPHPExcel = new PHPExcel(); 

// Set document properties 
$objPHPExcel->getProperties()->setCreator("GBD Admin") 
     ->setLastModifiedBy("GBD Admin") 
     ->setTitle("Weekly checkin/checkout log") 
     ->setDescription("Test document for PHPExcel, generated using PHP classes.") 
     ->setKeywords("Checkin/Checkout Logs") 
     ->setCategory("Checkin/Checkout Logs"); 


// Add some data 
$objPHPExcel->setActiveSheetIndex(0) 
     ->setCellValue('A1', 'Date of Export') 
     ->setCellValue('B1', $now) 
     ->setCellValue('A3', 'Employee Name') 
     ->setCellValue('B3', ' Checkin-date') 
     ->setCellValue('C3', ' Checkin-time') 
     ->setCellValue('D3', ' Checkout-date') 
     ->setCellValue('E3', ' Checkout-time') 
     //      ->setCellValue('F3', ' Total-time Spent') 
     //      ->setCellValue('G3', ' Over-time') 
     ->setCellValue('F3', ' Early checkout-remarks') 
     ->setCellValue('G3', ' Late checkin-remarks'); 

//      Newly added statement below 
//      ->setCellValue('H3', ' Absent/Leave Remarks'); 
$objPHPExcel->getActiveSheet()->getStyle('A1:B1')->getFont()->setBold(true); 
$objPHPExcel->getActiveSheet()->getStyle('A3:H3')->getFont()->setBold(true); 
$objPHPExcel->getActiveSheet()->fromArray($results, null, 'A5'); 
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20); 
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15); 
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15); 
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15); 
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15); 
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(45); 
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(45); 

// Rename worksheet 
$objPHPExcel->getActiveSheet()->setTitle('Login-data-' . $now); 


// Set active sheet index to the first sheet, so Excel opens this as the first sheet 
$objPHPExcel->setActiveSheetIndex(0); 


// Redirect output to a client’s web browser (Excel5) 
header('Content-Type: application/vnd.ms-excel'); 
header('Content-Disposition: attachment;filename="Login_data_' . $now . '.xls"'); 
header('Cache-Control: max-age=0'); 
// If you're serving to IE 9, then the following may be needed 
header('Cache-Control: max-age=1'); 

// If you're serving to IE over SSL, then the following may be needed 
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past 
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified 
header('Cache-Control: cache, must-revalidate'); // HTTP/1.1 
header('Pragma: public'); // HTTP/1.0 

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

我已經收到此錯誤:

這個網站無法達到

The webpage at http://localhost/gbdportal-new/Export might be temporarily down or it may have moved permanently to a new web address. ERR_INVALID_RESPONSE

這是工作的罰款與真人版目前正在運行服務器。可能是什麼問題呢?

+1

刪除頁眉和檢查,如果沒有錯誤被拋出/輸出 – Justinas

+0

是我收到的錯誤: 致命錯誤:「破」不第581行的C:\ xampp \ htdocs \ gbdportal-new \ vendor \ phpoffice \ phpexcel \ Classes \ PHPExcel \ Calculation \ Functions.php中的'loop'或'switch'上下文HTTP致命錯誤:'break'不在'loop'或'switch'上下文(POST/Export) – Azima

+0

所以這就是問題所在。您的服務器正在抑制錯誤,而本地不是。你輸出錯誤而不是excel文件。 – Justinas

回答