PHPExcel导出数据使用方法,excel导出表格
phpexcel导出数据信息使用方法,可以解决大数据导出问题的优化,防止内存限制导致导出数据表成为空白表。如果在导出的过程中,如果没有其他的问题,但是数据却是空白的,这就说明数据太大,服务器无法处理,所以导出导出的空白内容,可以添加一些代码,对服务器的限制内存进行调节,和phpexcel的一些自带的优化设置。
如果有兴趣的朋友,可以网上了解更多的设置选项。
<?php exportexcel(); function exportexcel(){ set_time_limit(0); require('PHPExcel/PHPExcel.php'); ini_set('memory_limit','1024M');/*设置为大数据输出时,防止内存限制*/ $cacheMethod = PHPExcel_CachedObjectStorageFactory:: cache_to_phpTemp; $cacheSettings = array( ' memoryCacheSize ' => '16MB' ); $objExcel = new PHPExcel(); // 创建文件格式写入对象实例 $objWriter = new PHPExcel_Writer_Excel5($objExcel); $objActSheet = $objExcel->getActiveSheet(); $objActSheet->setCellValue('A1', 'A列'); $objActSheet->setCellValue('B1', 'B列'); $objActSheet->setCellValue('C1', 'C列'); //设置宽度 $objActSheet->getColumnDimension('A')->setWidth(15); $objActSheet->getColumnDimension('B')->setWidth(20); $objActSheet->getColumnDimension('C')->setWidth(10); //避免某些大数字被使用科学记数方式显示 $objActSheet->getDefaultStyle()->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER); //设置右对齐 $objActSheet->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT); /*测试数据,使用是可以读取数据库信息*/ $data = array( 0=>array('a'=>'测试a','b'=>'测试b','c'=>'测试c'), 1=>array('a'=>'1测试a','b'=>'1测试b','c'=>'1测试c') ); foreach($data as $key=>$item){ $key = $key+2; $objActSheet->setCellValue('A'.$key, $item['a']); $objActSheet->setCellValue('B'.$key, $item['b']); $objActSheet->setCellValue('C'.$key, $item['c']); } //输出内容 $outputFileName = 'export'.date('YmdHis',time()).rand(100,999).'.xls'; header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header('Content-Disposition:inline;filename="'.$outputFileName.'"'); header("Content-Transfer-Encoding: binary"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Pragma: no-cache"); ob_clean(); /*输出方法一,保存输出文件缓存,作为记录*/ $finalFileName = 'cache/'.$outputFileName.'.xls'; $objWriter->save($finalFileName); echo file_get_contents($finalFileName); /*输出方法二,直接输出到浏览器*/ // $objWriter->save('php://output'); }
本文作者: Liaodeity
本文链接: https://www.jianbaizhan.com/article/255
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!