zoukankan      html  css  js  c++  java
  • PHP导出3w条数据成表格

    亲测有效,三万条数据秒秒钟导出

    先进行数据表插入数据

    ini_set('memory_limit','1024M'); //设置程序运行的内存
        ini_set('max_execution_time',0); //设置程序的执行时间,0为无上限
        ob_end_clean();  //清除内存
        ob_start();
            $in = 0;
            for($i=2880;$i<=30000; $i++) {
                $data = ['uname'=>'uname:'.$i, 'aname'=>'账号:'.$i, 'pwd'=>'111'.$i];
                $r = DB::table('enroll_activity_admin')->insert($data);
                 if($in==1000){ //每次写入1000条数据清除内存
                        $in=0;
                        ob_flush();//清除内存
                       
                    }
                    $in++;
            }  
            ob_end_clean();die;
    

      在进行导出数据

        $fileName = '酒店';
        $headArr = ['姓名', '账号', '密码']; //表头,名称可自定义
        $data = Db::table('enroll_activity_admin')->where('is_del','0')->field('uname,aname,pwd')->select();
        ini_set('memory_limit','1024M'); //设置程序运行的内存
        ini_set('max_execution_time',0); //设置程序的执行时间,0为无上限
        ob_end_clean();  //清除内存
        ob_start();
        header("Content-Type: text/csv");
        header("Content-Disposition:filename=".$fileName.'.csv');
        $fp=fopen('php://output','w');
        fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF));
        fputcsv($fp,$headArr);
        $index = 0;
        foreach ($data as $item) {
            if($index==1000){ //每次写入1000条数据清除内存
                $index=0;
                ob_flush();//清除内存
                flush();
            }
            $index++;
            fputcsv($fp,$item);
        }
     
        ob_flush();
        flush();
        ob_end_clean();
  • 相关阅读:
    js事件绑定函数
    代码练习(二维数组的定义,字符串加减,子元素的创建及绑定,排序算法)
    网页中字符串元素的相减
    JavaScript算法实现排序
    学习英语很重要的一个点
    hasattr(),getattr(),setattr()的使用
    HDU 3746 Cyclic Nacklace
    HDU 1686 Oulipo
    HDU 1711 Number Sequence
    正则表达式的常用操作符
  • 原文地址:https://www.cnblogs.com/yszr/p/11841268.html
Copyright © 2011-2022 走看看