csv 导出

csv 导出

    set_time_limit(0);

        ini_set('memory_limit', '1024M');

        // 输出Excel文件头,可把user.csv换成你要的文件名

        header('Content-Type: application/vnd.ms-excel;charset=utf-8');

        header('Content-Disposition: attachment;filename=csv' . date('Y-m-d H:i:s') . '.csv');

        header('Cache-Control: max-age=0');

        // 待导出信息

        $page_size = 10000;


        // 打开PHP文件句柄,php://output 表示直接输出到浏览器

        $fp = fopen('php://output', 'a');

        // 输出Excel头信息

        $head = [

            '姓名',

            '课程',

            '分类',

            '报考院校',

            '报考机构',

            '身份证号',

            '批次',

            '站点',

            '播放进度14%',

            '知识点测试20%',

            '登陆次数6%',

            '参与互动次数10%',

            '普通试卷20%',

            '阶段性考核20%',

            '综合考核30%',

            '总分',

        ];

        foreach ($head as $i => $v) {

            $head[$i] = $v;

        }

        // 将数据通过fputcsv写到文件句柄

        fputcsv($fp, $head);


        $id=0;

        do{

            ob_flush();

            flush();

            $offset = $now_page * $page_size;//偏移量

            $where['id'] = array('gt',$id);

            $data = Db::name('userlist')->where($where)->limit($page_size)->select();//使用where 比直接使用limit($now_page,$page_size)快

            if (empty($data)){

                break;

            }

            foreach ($data as $key=>$value){

                $csv=[];

                $csv[]=$value['realname'];

                $csv[]=$value['les_name'];

                $csv[]=$value['cate_name'];

                $csv[]=$value['sname'];

                $csv[]=$value['iname'];

                $csv[]=$value['id_card'];

                $csv[]=$value['type'];

                $csv[]=$value['site'];

                $csv[]=$value['hour_complete_num']."/".$value['hour_num']."课时".$value['limit_time_total_str']."/".$value['play_time_total_str']."时长"."百分比".$value['play_rate_total'];

                $csv[]=$value['knowledge_answer_num']."/".$value['knowledge_num']."百分比".$value['knowledge_score'];

                $csv[]=$value['login_num'];

                $csv[]=$value['inquiry_num'];

                $csv[]=$value['exam_type4_answer_num']."/".$value['exam_type4_num']."百分比".$value['exam_type4_score'];

                $csv[]=$value['exam_type2_num'];

                $csv[]=$value['exam_type3_num'];

                $csv[]=$value['result_score'];

                fputcsv($fp, $csv);

                unset($csv);

                unset($data);

                $id=$value['id'];

            }


        }while(true);

        fclose($fp);

    }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 大数据部署一一、Hadoop分布署集群搭建(相关配置文件): 1、配置Jdk和Hadoop的环境变量。 2、配置...
    蚁族007阅读 2,507评论 0 0
  • 1.html新表单元素 HTML5 表单元素 HTML5 增加了如下表单元素: 注释:默认地,浏览器不会显示未知元...
    橙汁007阅读 1,703评论 0 0
  • php 上传大文件注意事项 php.ini 参数修改 post_max_size upload_max_files...
    归尘_7cc2阅读 1,170评论 0 0
  • https://www.kaggle.com/kernels/scriptcontent/20478888/dat...
    dded阅读 1,001评论 0 0
  • 今天上午放学后,我经过海州小区的三期,听见我们学校的铃声远远地传过来,那铃声一点都不好听。
    格格的歌阅读 793评论 0 0