PHP生成csv格式Excel,秒级别实现excel导出功能

本文介绍了一种高效导出CSV文件的方法,该方法能够防止内存溢出,并且支持中文和科学计数法,适用于大数据量导出场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

防止报超内存,兼容中文,兼容科学技术法。 爽。。。。很爽。。。。

 /**
     * 告诉浏览器下载csv文件
     * @param string $filename
     */
    public static function downloadCsv($data, $filename, $encoding = 'utf-8')
    {
        header("Content-type: text/csv");
        header("Content-type:application/vnd.ms-excel;charset=UTF-8");
        header("Content-Disposition: attachment; filename={$filename}.csv");
        header("Pragma: no-cache");
        header("Expires: 0");
        $fp = fopen('php://output', 'w');
        fwrite($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));
        foreach ($data as $row) {
            foreach ($row as &$v) {
                if($encoding && $encoding != 'utf-8'){
                    $v =  iconv('utf-8', $encoding, $v);
                }
                $v = is_numeric($v) ? $v . "\t" : $v;
            }
            fputcsv($fp, $row);
        }
        fclose($fp);
        exit;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值