zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    如何提高IT团队的执行力?
    Internet Explorer 安全区域注册表项说明
    用C#编写ActiveX控件(一) 转载
    用C#编写ActiveX控件(二) 转载
    关于《用C#编写ActiveX控件》的几点说明 转载
    【经典】单调栈+离线+线段树区间更新——求所有子区间gcd之和 icpc cerc 2019 b
    SQL语句
    Windows 程序设计学习记录(1)类的定义和应用
    Windows 程序设计学习记录(2)数据链表删除,增加的算法
    推荐一些博客网站
  • 原文地址:https://www.cnblogs.com/php-qiuwei/p/9178172.html
Copyright © 2011-2022 走看看