PHP快速导出数据到EXCEL/CSV

PHP快速导出数据到EXCEL/CSV

快速导出数据到EXCEL/CSV

/** 快速导出数据到EXCEL/CSV 
 */
public function exportDataAction()
{ 
    set_time_limit(0);
    ini_set('memory_limit', '1024M');

    $list = [['测试1','测试2','测试3','测试4','测试5','测试6','测试7','测试8'],['测试21','测试22','测试23','测试24','测试25','测试26']];
    $columns = ['渠道ID','商品名称', '商品编号', '商品类型', '面值', '供货价', '销售状态'];
    $fileName = '导出数据-'.date('Y-m-d', time()).'.csv';
     header('Content-Description: File Transfer');
    header('Content-Type: application/vnd.ms-excel');
    header("Content-Disposition: attachment; filename={$fileName}");
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public'); 
    $fp = fopen('php://output', 'a');//打开output流
    mb_convert_variables('GBK', 'UTF-8', $columns);
    fputcsv($fp, $columns);//将数据格式化为CSV格式并写入到output流中
    foreach($list as $key=>$row) {
        //需要格式转换,否则会乱码
        mb_convert_variables('GBK', 'UTF-8', $row);
        fputcsv($fp, $row);
    }
    ob_flush();           //必须同时使用 ob_flush() 和flush() 函数来刷新输出缓冲。
    flush();
    fclose($fp);
    exit();
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

abiao1981

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值