HTML
<div class="input-group-btn right">
<a href="{:U('export_info',array('search'=>$search))}">
<button type="button" class="btn btn-xs all-btn btn-purple pull-right">
<span class="ace-icon fa fa-globe icon-on-right bigger-110"></span>
导出列表
</button>
</a>
</div>
控制器
public function export_info(){
$expzTitle = "会员列表";
$expCellName = array(
array('member_list_username','登录名'),
array('address_detail','地址'),
array('member_list_sex','性别'),
array('member_list_tel','手机'),
array('member_list_open','审核状态'),
array('member_list_addtime','添加时间戳'),
array('user_status','禁用状态'),
array('score','积分'),
array('member_list_relname','真实姓名'),
array('member_list_identity','身份证号'),
array('member_list_email','邮箱'),
array('member_status','会员身份'),
array('car_model','车型'),
array('car_insurance','车辆保险'),
array('car_annual_inspection','车辆年检信息'),
);
$search = I("search");
if($search){
if($search['open']){
if($search['open'] == '1'){
$map['member_list_open'] = 1;
}else if($search['open'] == '2'){
$map['member_list_open'] = 2;
}else{
$map['member_list_open'] = 3;
}
}
if($search['member_status']){
if($search['member_status'] == '1'){
$map['member_status'] = 1;
}else{
$map['member_status'] = 2;
}
}
if($search['nickname']){
$map['member_list_nickname'] = array('like',"%".$search['nickname']."%");
}
}
$member_list=M('Member_list')->where($map)->order('member_list_id desc')->select();
foreach ($member_list as $k => $v){
//登录用户名
$member_list[$k]['member_list_username'] =$v['member_list_username'];
//手机
$member_list[$k]['member_list_tel'] =$v['member_list_tel'];
//车型
$member_list[$k]['car_model'] =$v['car_model'];
//车辆保险
$member_list[$k]['car_insurance'] =$v['car_insurance'];
//车辆年检信息
$member_list[$k]['car_annual_inspection'] =$v['car_annual_inspection'];
//签名
$member_list[$k]['signature'] =$v['signature'];
//积分
$member_list[$k]['score'] =$v['score'];
//真实姓名
$member_list[$k]['member_list_relname'] =$v['member_list_relname'];
//邮箱
$member_list[$k]['member_list_email'] =$v['member_list_email'];
//身份证号
$member_list[$k]['member_list_identity'] =$v['member_list_identity'];
//添加时间
if(!empty($v['member_list_addtime'])){
$member_list[$k]['member_list_addtime'] = date('Y-m-d H:i:s',$v['member_list_addtime']);
}
//审核状态
if($v['member_list_open'] == '1'){
$member_list[$k]['member_list_open'] = '待审核';
}
else if($v['member_list_open'] == '2'){
$member_list[$k]['member_list_open'] = '已通过';
}
else{
$member_list[$k]['member_list_open'] = '未通过';
}
// 禁用状态
if($v['user_status'] == '0'){
$member_list[$k]['user_status'] = '未禁用';
}
else{
$member_list[$k]['user_status'] = '已禁用';
}
// 会员身份
if($v['member_status'] == '1'){
$member_list[$k]['member_status'] = '乘客';
}
else{
$member_list[$k]['member_status'] = '司机';
}
//城市地址
$cityname = getAddress($v['member_list_province'],$v['member_list_city'],$v['member_list_town']);
$member_list[$k]['address_detail'] = $cityname;
unset($member_list[$k]['member_list_province']);
unset($member_list[$k]['member_list_city']);
unset($member_list[$k]['member_list_town']);
// 性别
if($v['member_list_sex'] == '1'){
$member_list[$k]['member_list_sex'] = '男';
}
else if($v['member_list_sex'] == '2'){
$member_list[$k]['member_list_sex'] = '女';
}
else{
$member_list[$k]['member_list_sex'] = '保密';
}
}
exportExcel($expzTitle,$expCellName,$member_list);
}
共用方法function.php中需要写入这个方法
function exportExcel($expzTitle,$expCellName,$expTableData){
$xlsTitle = iconv('utf-8', 'gb2312', $expzTitle);//文件名称
$fileName = date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定
$cellNum = count($expCellName);
$dataNum = count($expTableData);
vendor("PHPExcel.Classes.PHPExcel");
$objPHPExcel = new \PHPExcel();
$cellName = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ');
$objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格
for($i=0;$i<$cellNum;$i++){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i].'2', $expCellName[$i][1]);
}
for($i=0;$i<$dataNum;$i++){
for($j=0;$j<$cellNum;$j++){
$objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+3), ' '.$expTableData[$i][$expCellName[$j][0]]);
}
}
for($j=0;$j<$cellNum;$j++){
$objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+3), ' '.$expTableData[$i][$expCellName[$j][0]]);
}
for($j=0;$j<$cellNum;$j++){
$objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+3), $expTableData[$i][$expCellName[$j][0]]);
}
ob_end_clean();//清除缓冲区,避免乱码
header('pragma:public');
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');
header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}
最后在ThinkPHP\Library\Vendor文件下导入PHPexcel文件即可 注意在exportExcel方法中注意要清楚缓存不然会乱码