php导出excel

 

 1 <?php
 2 /**
 3  * @Author: Marte
 4  * @Date:   2018-05-10 17:13:13
 5  * @Last Modified by:   Marte
 6  * @Last Modified time: 2018-05-10 17:37:35
 7  */
 8 /**
 9 * 批量导出数据
10 * @param $arr 从数据库查询出来,即要导出的数据
11 *  $name excel表歌名
12 */
13 header('Content-Type: text/html; charset=utf-8'); 
14 date_default_timezone_set('asia/shanghai');
15   include('config/db.php');
16 
17 function expExcel($arr,$name){
18   
19  require_once './PHPExcel/Classes/PHPExcel.php';
20  //实例化
21  $objPHPExcel = new PHPExcel();
22  /*右键属性所显示的信息*/
23   $objPHPExcel->getProperties()->setCreator("zxf")  //作者
24        ->setLastModifiedBy("zxf")  //最后一次保存者
25        ->setTitle('数据EXCEL导出')  //标题
26        ->setSubject('数据EXCEL导出') //主题
27        ->setDescription('导出数据')  //描述
28        ->setKeywords("excel")   //标记
29        ->setCategory("result file");  //类别
30  
31  
32  //设置当前的表格
33  $objPHPExcel->setActiveSheetIndex(0);
34  // 设置表格第一行显示内容
35  $objPHPExcel->getActiveSheet()
36   ->setCellValue('A1', 'id')
37   ->setCellValue('B1', 'name')
38   ->setCellValue('C1', 'title')
39   ->setCellValue('D1', 'time')
40   //设置第一行为红色字体
41   ->getStyle('A1:D1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED);
42  
43  $key = 1;
44  /*以下就是对处理Excel里的数据,横着取数据*/
45  foreach($arr as $v){
46  
47  //设置循环从第二行开始
48  $key++;
49      //Excel的第A列,name是你查出数组的键值字段,下面以此类推
50        $objPHPExcel->getActiveSheet()->setCellValue('A'.$key, $v['id']);
51        $objPHPExcel->getActiveSheet()->setCellValue('B'.$key, $v['name']);
52        $objPHPExcel->getActiveSheet()->setCellValue('C'.$key, $v['title']);
53        $objPHPExcel->getActiveSheet()->setCellValue('D'.$key, date('Y-m-d H:i:s',$v['time']));
54 
55  }
56  //设置当前的表格
57  $objPHPExcel -> setActiveSheetIndex(0);
58 //  ob_end_clean();  //清除缓冲区,避免乱码
59   header('Content-Type: application/vnd.ms-excel'); //文件类型
60   header('Content-Disposition: attachment;filename="'.$name.'.xls"'); //文件名
61   header('Cache-Control: max-age=0');
62   header('Content-Type: text/html; charset=utf-8'); //编码
63   $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');  //excel 2003
64   $objWriter->save('php://output');
65   exit;
66  
67 }
68  
69 /***********调用**********************/
70  
71  
72 //先获取数据
73 $sql = "select * from msg  ";
74 $res = mysql_query($sql);
75 $arr = array();
76 //把$res=>$arr,把结果集内容转移到一个数组中
77 while ($row = mysql_fetch_assoc($res)){
78  $arr[] = $row;
79 }
80  
81 //excel表格名
82 $name = "用户表";
83  
84 //调用
85 expExcel($arr,$name);
PHPExcel地址:

链接:https://pan.baidu.com/s/1Tx-lniyfKvtiDcKiWLK2OQ 密码:d5jn

 

posted @ 2018-06-13 15:47  小鬼PSer  阅读(163)  评论(0编辑  收藏  举报