PHP导出超大量数据到EXCEL

直接上代码~~~

function Export($data,$FileName)
{
    set_time_limit(0);
    $columns = [
        '学号', '姓名', '年级', '学科', '分数'
    ];
    $FileName = $FileName."csv";
    //设置headers
    header('Content-Description: File Transfer');//
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment; filename="'. $FileName .'"');// MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件。当 Internet Explorer 接收到头时,它会激活文件下载对话框,它的文件名框自动填充了头中指定的文件名
    header('Expires: 0');//缓存过期时间;
    header('Cache-Control: must-revalidate');//强制页面不缓存与no-cache相同,但更严格
    header('Pragma: public');//
    $fp = fopen('php://output', 'a');//打开output流
    mb_convert_variables('GBK', 'UTF-8', $columns);
    fputcsv($fp, $columns);//将数据格式化为CSV格式并写入到output流中
    foreach($data as $v) {

        mb_convert_variables('GBK', 'UTF-8', $v);
        fputcsv($fp, $v);
    }
    $data = null;
    unset($data);
    ob_flush();
    flush();
    fclose($fp);
    exit();
}

$data= array(
    array('5','小米', '1', '语文', '88'),
    array('1','小明1', '1', '语文', '99'),
    array('2','小红2', '1',   '语文', '89'),
    array('3','小花3', '2',   '语文', '98'),
    array('4','小刚4', '3',   '语文', '98')
    );
Export($data,'students');
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章