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