PHP:引用PhpExcel导出数据到excel表格

我使用的是tp3.2框架(下载地址:http://www.thinkphp.cn/topic/38123.html)

1.首先要下载PhpExcel类库,放在如下图目录下

2.调用方法

 1 public function exportExcel($expTitle,$expCellName,$expTableData)
 2 {
 3     $xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称
 4     $fileName = $_SESSION['account'].date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定
 5     $cellNum = count($expCellName);
 6     $dataNum = count($expTableData);
 7     vendor("PHPExcel.PHPExcel");//引入类库,一定要引对,否则会报错找不到这个类
 8     $objPHPExcel = new PHPExcel();
 9     $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');
10 
11     $objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格
12     // $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle.'  Export time:'.date('Y-m-d H:i:s'));
13     for($i=0;$i<$cellNum;$i++){
14         $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i].'2', $expCellName[$i][1]);
15     }
16     // Miscellaneous glyphs, UTF-8
17     for($i=0;$i<$dataNum;$i++){
18         for($j=0;$j<$cellNum;$j++){
19             $objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+3), $expTableData[$i][$expCellName[$j][0]]);
20         }
21     }
22 
23     header('pragma:public');
24     header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');
25     header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印
26     ob_clean();//把数据从PHP的缓冲(buffer)中释放出来。
27     flush();//把不在缓冲(buffer)中的或者说是被释放出来的数据发送到浏览器。
28     $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');
29     $objWriter->save('php://output');
30     exit;
31 }
32 /**
33  *
34  * 导出Excel
35  */
36 function daochu()
37 {//导出Excel
38     $xlsName  = "User";
39     $xlsCell  = array(
40         array('id','账号序列'),
41         array('u_name','用户名字'),
42         array('u_addres','地址'),
43         array('u_tel','电话'),
44         array('u_card','身份证号'),
45         array('u_time','申报时间'),
46         // array('u_imgz','申报时间'),
47         // array('u_imgf','申报时间'),
48         array('b_one_beizhu','办公人员备注'),
49         array('b_shenhe_p','办公室审核人员'),
50         array('water_kj','水表口径'),
51         array('water_wz','水表具体位置'),
52         array('water_quyu','区域位置'),
53         array('water_start_time','施工日期'),
54         array('water_start_peo','施工人员'),
55         array('water_start_jingli','施工经理'),
56         array('water_beizhu','施工经理备注'),
57         array('water_xingzhi','用水性质'),
58         array('watch_num','水表底数'),
59         array('watch_time','抄表日期'),
60         array('watch_peo','抄表人员'),
61         array('moneyjingli_name','收费经理'),
62         array('moneyjingli_beizhu','收费经理备注'),
63 
64         array('jingli_name','经理名称')
65 
66     );
67     $xlsModel = M('api_aliucheng');
68 
69     $xlsData  = $xlsModel->Field('id,u_name,u_addres,u_tel,u_card,u_time,b_one_beizhu,b_shenhe_p,water_kj,water_wz,water_quyu,water_start_time,water_start_peo,water_start_jingli,water_beizhu,water_xingzhi,watch_num,watch_time,watch_peo,moneyjingli_name,moneyjingli_beizhu,jingli_name')->where(array('jingli_state_san'=>1))->select();
70 
71     $this->exportExcel($xlsName,$xlsCell,$xlsData);
72 
73 }
3.导出结果(上面标红的地方要特别注意)



成为不了聪明的人,那就做一个有耐心、肯钻研,坚持不懈,永不放弃的人……
原文地址:https://www.cnblogs.com/wrld/p/9073195.html