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();
  • 相关阅读:
    Linux Shell 基本语法
    VIM选择文本块/复制/粘贴
    linux vi命令详解2
    SSH命令详解2
    JAVA调用Shell脚本
    scp命令的用法详解
    Java实践 — SSH远程执行Shell脚本
    Remote SSH: Using JSCH with Expect4j
    c++内置函数---7
    c++将引用作为函数的参数---6
  • 原文地址:https://www.cnblogs.com/yszr/p/11841268.html
Copyright © 2011-2022 走看看