三行代码实现ThinkPHP导出Excle方法,不依赖第三方库

浏览:3164 发布日期:2016/06/02 分类:功能实现 关键字: Excle ThinkPHP
Excle导出方法
ThinkPHP最简单的Excle导出方法,不依赖第三方库,三行代码就能实现。虽然ThinkPHP用过很多年、但是在导出Excle方式还是新手,下面的代码仅供参考。如果大神们发现本方法有什么不妥之处,请多多指教,大家一起探讨,一起进步,谢谢各位啦。
此方法比较简单就直接上代码了。
首先是Action里的代码    /**
     *
     * 导出Excel
     */
    public function expExcel(){//导出Excel
        $fileName = $_SESSION['loginUserName'].date('_YmdHis');
        $xlsModel = D('Gyjyl');
        $xlsData  = $xlsModel->where($map)->select();
        $this->assign('list',$xlsData);
        header('pragma:public');
        header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$fileName.'.xls"');
        header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印
        $this->display();
         
    }
把上面控制器的数据输出到expExcel.html 模板里
expExcel.html:    <table border="1"     cellspacing="0"   class="table" width="100%" layoutH="138">
        <tbody>
            <th colspan="8" >{$Think.session.loginUserName}-{$vo['jyrq']|date="Y-m-d",###}-柜员交易量</th>
        </tbody>
        <thead>
        <tr>
            <th orderField="gyjg" <if condition="$_REQUEST._order eq 'gyjg'">class="{$_REQUEST._sort}"</if>>网点名称</th>
            <th width="70">柜员号</th>
            <th width="70">柜员名</th>
            <th width="120">网银笔数</th>
            <th width="120">短信笔数</th>
            <th width="120">活期笔数/金额</th>
            <th width="120">定期笔数/金额</th>
            <th width="120">交易日期</th>
        </tr>
        </thead>
        <tbody>
        <volist id="vo" name="list">
            <tr target="sid_role" rel="{$vo['gybh']}">
                <td>{$vo['gyjg']|getDepartmentNameToJgh}</td>
                <td>{$vo['gybh']}</td>
                <td>{$vo['gybh']}</td>
                <td>{$vo['wybs']}</td>
                <td>{$vo['dxbs']}</td>
                <td>{$vo['hqbs']}/{$vo['hqje']}</td>
                <td>{$vo['dqbs']}/{$vo['dqje']}</td>
                <td>{$vo['jyrq']|date="Y-m-d",###}</td>
            </tr>
        </volist>
        </tbody>
    </table>
最后就是前台调用的代码了<a class="icon" href="__URL__/expExcel"><span>导出EXCEL</span</a>最后说几句:本方法的重点是 用Html的header属性 把Html格式重置为Excle文件。
评论( 相关
后面还有条评论,点击查看>>