• 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

  • 相关阅读:
    day12. 闭包
    day11.函数的全局变量和局部变量
    day10.函数基础及函数参数
    day9.关于文件的操作
    day7.关于字符串的相关操作
    day8.列表、字典、集合相关操作
    day6. while双项循环及for循环
    LeetCode-Unique Binary Search Trees II
    LeetCode-Unique Binary Search Trees
    LeetCode-Edit Distance
  • 原文地址:https://www.cnblogs.com/lxwphp/p/9497941.html
Copyright © 2020-2023  润新知