标签:
/* +----------------------------------------------------------------------
| introduce:数据导出excel
+----------------------------------------------------------------------
| @param $config 表头,文件名等相关配置信息
+----------------------------------------------------------------------
| @param $data array 所要导出的结果集
+----------------------------------------------------------------------
| Author: liwuming
+----------------------------------------------------------------------
*/
function exportExcel($config,$data){
include ‘./PHPExcel/PHPExcel.PHPExcel‘;
$objPHPExcel = new PHPExcel();
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5‘);
$column = 2;
foreach($data as $key => $rows){ //行写入
$span = ord("A");
$i = 0;
foreach($rows as $keyName=>$value){// 列写入
$j = chr($span);
$objPHPExcel->getActiveSheet()->setCellValue($j.$column, $value);
if($config[‘center‘][$i]){
$objPHPExcel->getActiveSheet()->getStyle($j.$column)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
}else{
$objPHPExcel->getActiveSheet()->getStyle($j.$column)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
}
$span++;
$i++;
}
$column++;
}
//设置sheet名字
if(!empty($config[‘title‘])){
$objPHPExcel->getActiveSheet()->setTitle($config[‘title‘]);
}
//设置默认行高
$height = !empty($config[‘height‘])?$config[‘height‘]:30;
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight($height);
//设置默认字体大小
$objPHPExcel->getActiveSheet()->getDefaultStyle(‘A1:Z1‘)->getFont()->setSize(14);
$objPHPExcel->getActiveSheet()->getStyle(‘A1:Z1‘)->getFont()->setBold(true);
//设置表头
$key = ord("A"); //返回字符的 ASCII 码值
$i = 0;
foreach($config[‘header‘] as $v){
$colum = chr($key);
$objPHPExcel->getActiveSheet()->setCellValue($colum.‘1‘, $v);
$objPHPExcel->getActiveSheet()->getColumnDimension($colum)->setWidth($config[‘width‘][$i]);
$objPHPExcel->getActiveSheet()->getStyle($colum.‘1‘)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$key +=1;
$i++;
}
//设置文件名
if($config[‘name‘] == ‘time‘ || $config[‘name‘] == ‘‘){
$date = date("Y_m_d",time());
$fileName .= "{$date}.xls";
}else{
$fileName .= "{$config[‘name‘]}.xls";
}
$fileName = iconv("gb2312","utf-8", $fileName); //iconv 文件编码转换
header ( "Pragma: public" );
header ( "Expires: 0" );
header ( "Cache-Control:must-revalidate, post-check=0, pre-check=0" );
header ( "Content-Type:application/force-download" );
header ( "Content-Type:application/vnd.ms-execl;charset=utf-8" );
header ( "Content-Type:application/octet-stream" );
header ( "Content-Type:application/download" );
header ( ‘Content-Disposition:attachment;filename="‘.$fileName.‘"‘);
$objWriter->save(‘php://output‘);
exit();
}
标签:
原文地址:http://www.cnblogs.com/liwuming/p/4493719.html