exportExcel

<?php

/**
 * 导出Excel
 * @param array $heads 表头 一维数组
 * @param mixed $mixed 数据(二维关联数组)| 函数 如 foreach($list AS $item){return "<tr><td>{$item['id']}</td></tr>";}
 * @param array $fields 字段列表 如 ['id','name'];
 * @param string $excel_name 文件名
 * @return null
 */
function exportExcel($heads, $mixed, $fields = [], $excel_name = 'excel')
{
    header('Content-Type: text/xls');
    header("Content-type:application/vnd.ms-excel;charset=utf-8");
    header("Content-Disposition: attachment; filename={$excel_name}.xls");
    header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
    header('Expires:0');
    header("Pragma: no-cache");

    $str = chr(239) . chr(187) . chr(191) . '<table border="1">';

    //绘制表头
    if ($heads) {
        $str .= '<tr>';
        foreach ($heads AS $head) {
            $str .= '<th>' . (string)$head . '</th>';
        }
        $str .= '</tr>';
    }

    //表格数据
    if ($mixed) {

        //二维关联数组
        if (is_array($mixed)) {
            $list = $mixed;
            foreach ($list AS $item) {
                $str .= '<tr>';
                if ($fields) {
                    foreach ($fields AS $td) {
                        $str .= '<td>' . (isset($item[$td]) ? $item[$td] : '') . '</td>';
                    }
                } else {
                    foreach ($item AS $td) {
                        $str .= '<td>' . $td . '</td>';
                    }
                }
                $str .= '</tr>';
            }
        } else {
            //函数
            $str .= $mixed;
        }
    }

    $str .= '</table>';

    echo $str;
    die();
}

//Demo
$arr = [['username'=>'tom','age'=>18],['username'=>'john','age'=>19]];

exportExcel(['名字','年龄'],$arr,['username','age']);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值