zoukankan      html  css  js  c++  java
  • php header函数导出excel表格

    推荐一个除了用PHPExcel导出表格之外的另外一种比较简单不需要引入类文件的表格导入方法——header()导出excel表格。

    导出表格的步骤封装成了方法,以便于重复使用,代码如下:

     
     1 /**
     2  * 导出数据为excel表格
     3  *@param $data    一个二维数组,结构如同从数据库查出来的数组
     4  *@param $title   excel的第一行标题,一个数组,如果为空则没有标题
     5  *@param $filename 下载的文件名
     6  *@examlpe10  */
    11 function exportexcel($data=array(),$title=array(),$filename='report'){
    12     ob_end_clean(); 
    13     ob_start(); 
    14     header("Content-type:application/octet-stream");
    15     header("Accept-Ranges:bytes");
    16     header("Content-type:application/vnd.ms-excel");
    17     header("Content-Disposition:attachment;filename=".$filename.".xls");
    18     header("Pragma: no-cache");
    19     header("Expires: 0");
    20     //导出xls 开始
    21     if (!empty($title)){
    22         foreach ($title as $k => $v) {
    23             $title[$k]=iconv("UTF-8", "GB2312",$v);
    24         }
    25         $title= implode("	", $title);
    26         echo "$title
    ";
    27     }
    28     if (!empty($data)){
    29         foreach($data as $key=>$val){
    30             foreach ($val as $ck => $cv) {
    31                 $data[$key][$ck]=iconv("UTF-8", "GB2312", $cv);
    32             }
    33             $data[$key]=implode("	", $data[$key]);
    34         }
    35         echo implode("
    ",$data);
    36     }
    37 }
     

    简单举个例子

    1 $data =M ('User')-> select();
    2 $title = array('id','账户','密码','昵称');
    3 exportexcel($data,$title,'用户表!');

    方法中的ob_end_clean()和ob_start()函数主要用来清除缓存和boom头防止产生乱码和格式错误。需要做导出操作的话,定义一个二维数组,和一个头部标题数组然后直接调用下载就行了。

    本文属原创内容,为了尊重他人劳动,转载请注明本文地址:

    http://www.cnblogs.com/luokakale/p/8352517.html

  • 相关阅读:
    VMware ESXI 5.5 注册码
    NetScaler Active-Active模式
    Citrix NetScaler HA(高可用性)解析
    服务管理--systemctl命令
    CentOS7 安装 webgoat 7.1 简介
    Codefoces 723B Text Document Analysis
    Codefoces 723A The New Year: Meeting Friends
    ECJTUACM16 Winter vacation training #1 题解&源码
    信息学奥赛一本通算法(C++版)基础算法:高精度计算
    从零开始学算法:高精度计算
  • 原文地址:https://www.cnblogs.com/lxwphp/p/9497941.html
Copyright © 2011-2022 走看看