PHPExcel在AWS上运行代码时写入垃圾字符.
发布时间:2020-12-13 21:50:45 所属栏目:PHP教程 来源:网络整理
导读:我正面临着 PHPExcel excel下载代码的问题.下载代码正在一台服务器上工作(netcore服务器),但是同样的代码集在AWS server上无法工作.任何人都可以帮我弄清楚究竟是什么问题?以下是phpexcel下载代码: error_reporting(E_ALL);ini_set('display_errors',TRUE)
我正面临着
PHPExcel excel下载代码的问题.下载代码正在一台服务器上工作(netcore服务器),但是同样的代码集在AWS server上无法工作.任何人都可以帮我弄清楚究竟是什么问题?以下是phpexcel下载代码:
error_reporting(E_ALL); ini_set('display_errors',TRUE); ini_set('display_startup_errors',TRUE); date_default_timezone_set('Europe/London'); if (PHP_SAPI == 'cli') die('This example should only be run from a Web Browser'); /** Include PHPExcel */ require_once '../Classes/PHPExcel.php'; // Create new PHPExcel object $objPHPExcel = new PHPExcel(); // Set document properties $objPHPExcel->getProperties()->setCreator("Maarten Balliauw") ->setLastModifiedBy("Maarten Balliauw") ->setTitle("Office 2007 XLSX Test Document") ->setSubject("Office 2007 XLSX Test Document") ->setDescription("Test document for Office 2007 XLSX,generated using PHP classes.") ->setKeywords("office 2007 openxml php") ->setCategory("Test result file"); // Add some data $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1','Hello') ->setCellValue('B2','world!') ->setCellValue('C1','Hello') ->setCellValue('D2','world!'); // Miscellaneous glyphs,UTF-8 $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A4','Miscellaneous glyphs') ->setCellValue('A5','éàèùaê?????ü???ü?'); // Rename worksheet $objPHPExcel->getActiveSheet()->setTitle('Simple'); // 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="01simple.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'); 下载Excel文件但使用垃圾/不支持的字符 PKU~AG?D?X?[Content_Types].xml??MN?0??"?%nY ??vAa ?(0???g?w{&i?@?nbE?{??y??d?l m?????X?(???)???F??;@1_?????c)j?x/%??E??y? ?Q?i!??K? 解决方法
我在执行xlsx文件时遇到了这个问题,发现它是一个缓冲区问题.为了解决这个问题,我使用了php输出控制函数ob_end_clean();在保存之前.所以在你的情况下,它看起来像:
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5'); ob_end_clean(); $objWriter->save('php://output'); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |