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 许可协议。转载请注明出处!