php解决导出大数据execl问题

描述:在实际工作中,有时候我们需要导出大量数据到execl里面,可以参考分页方式导出,将每一页的数据放进php输出流里面 代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
    ini_set('memory_limit', '2048M');
    header('Content-Description: File Transfer');
    header('Content-Type: application/vnd.ms-excel');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    $filename ="111.xlsx";
    header("Content-Disposition:filename={$filename}");
    $fp = fopen("php://output",'a');
    $title = ["id", "name", "age","aa","bb"];
 
    $str = implode("\t",$title)."\n";
    fwrite($fp,$str,strlen($str));
    $bigData=[];
    for($i=0;$i<1000000;$i++){
        $tmp=[];
        $tmp["id"]=1;
        $tmp["name"]="lisi";
        $tmp["age"]=20;
        $tmp["aa"] = 20;
        $tmp["bb"] = 20;
 
        array_push($bigData,$tmp);
    }
   $result = array_chunk($bigData,5);
    for($i=0;$i<count($result);$i++){
        $data = $result[$i];
        for($j=0;$j<count($data);$j++){
           $show=[];
           $id = $data[$j]["id"];
           $name = $data[$j]["name"];
           $age = $data[$j]["age"];
           $aa = $data[$j]["aa"];
           $bb = $data[$j]["bb"];
 
            array_push($show,$id);
            array_push($show, $name);
            array_push($show, $age);
            array_push($show, $aa);
            array_push($show, $bb);
           $strshow = implode("\t",$show)."\n";
           fwrite($fp,$strshow);
        }
        file_put_contents("./1.txt",$i,FILE_APPEND);
        ob_flush();
        flush();
    }
 
    fclose($fp);
    exit;
 
?>

  

posted on   孤灯引路人  阅读(252)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2020-01-05 PHP多进程非阻塞模式下结合原生Mysql与单进程效率测试对比
2020-01-05 PHP实现多进程并行操作,可做守护进程(转,备用)
2020-01-05 php多进程结合Linux利器split命令实现把大文件分批高效处理
2020-01-05 PHP多进程处理并行处理任务实例(转,备用)
2020-01-05 PHP多进程并行执行php脚本
2020-01-05 PHP多进程学习(三)__代码案例来了解父进程与子进程的执行顺序
2020-01-05 PHP多进程学习(二)__fork起多个子进程,父进程的阻塞与非阻塞

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示