1. 程式人生 > >php實現匯出excel功能

php實現匯出excel功能

  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瀏覽器