2017-10-06 42 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

回答