php实现导出excel功能

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/T_Struggle/article/details/83111029
  1. MySQL筛选出要导出数据的列表,字段就是excel中要显示的列,比如id、name、address等
  2. 设置导出excel的表名,一般是名称加时间的格式,php代码如下:
    $field    = 'a.`did`,a.addtime,a.`phone`,a.`system`,a.msg_status,a.`author`';
    $result   = "select $field from table where 1=1";
    
    //导出excel核心
    $file_name   = "-下载地址预约表".date("Y-m-d",time());
    $file_suffix = "xls";
    header("Content-Type: application/vnd.ms-excel");
    header("Content-Disposition: attachment; filename=$file_name.$file_suffix");
    
    $this->smarty->assign('list',  	$result);
    $this->smarty->display("export.html");
  3.  输入到html模板,html示例代码:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <table border=1 cellpadding=0 cellspacing=0>
        <tr><th colspan="5" style="height: 50px;line-height: 50px;background: #505050;color: #fff;font-size: 22px;">{$dname}-下载地址预约表</th></tr>
        <tr class="t1">
            <td width="8%">预约游戏名称</td>
            <td width="3%">手机号码</td>
            <td width="5%">预约时间</td>
            <td width="5%">系统类型</td>
        </tr>
            {foreach from=$list key=key item=val}
            <tr>
                <td><strong>{if $downid}{$dname}{else}{$val.dname}{/if}</strong></td>
                <td>{$val.phone}</td>
                <td >{$val.addtime|date_format:"%Y-%m-%d %H:%M:%S"}</td>
                <td >{if $val.system eq 1}安卓{elseif $val.system eq 2}IOS{else}全部{/if}</td>
            </tr>
            {/foreach}
    </table>
    </body>
    </html>

    注:并不是所有浏览器都支持这种方式,推荐使用chrome浏览器 

猜你喜欢

转载自blog.csdn.net/T_Struggle/article/details/83111029