PHP生成并下载CSV文件

{{ time }}

示例代码如下

<?php

/** 
 * 创建(导出)csv数据表格 
 * @param  array   $data 要导出的数组格式的数据 
 * @param  string  $filename 导出的文件名 
 */
function makeCsv($data, $filename)
{
    $csv = "\xEF\xBB\xBF"; //解决乱码

    foreach ($data as $line) {
        foreach ($line as $v) {
            $csv .= "$v\t ,";
        }
        $csv .= "\n";
    }

    header("Content-type:text/csv");
    header("Content-Disposition:attachment; filename=$filename.csv");
    exit($csv);
}


$data = [
    ['平台收支明细查询'],
    ['起始日期:[2020-03-27 00:00:00]    终止日期:[2020-04-02 09:54:38]'],
    ['-------------------------------收支明细列表----------------------------------'],
    ['创建时间', '资金类型', '交易流水号', '订单号', '相关用户', '金额', '资金流向', '所属账户'],
    ['2020-04-01 09:54:02', '书费', '312312313', '12312312313123', 'Tom', '-41', '支出', '直接到账'],
    ['2020-04-01 09:54:03', '本费', '312312314', '12312312313124', 'Ricky', '-4.1', '支出', '直接到账'],
    ['2020-04-01 09:54:04', '报费', '312312315', '12312312313125', 'Alice', '-4.1', '支出', '直接到账'],
    ['2020-04-01 09:54:05', '网费', '312312316', '12312312313126', 'Wangtao', '-421', '支出', '直接到账'],
    ['2020-04-01 09:54:06', '提现', '312312317', '12312312313127', 'Admin', '-4.1', '支出', '直接到账'],
    ['2020-04-01 09:54:07', '充值', '312312318', '12312312313128', 'Admin', '1', '支出', '直接到账'],
    ['----------------------------------------------------------------------------'],
    ['共6笔记录'],
    ['已收入:1笔', '1.00元'],
    ['已支出:5笔', '474.30元'],
    ['导出时间:[2020-04-02 09:54:38]    用户:Admin']
];

$filename = "admin_record_20200402_0954";
makeCsv($data, $filename);