zoukankan      html  css  js  c++  java
  • 导出大量数据到excel表

    set_time_limit(0);
    error_reporting(0);

    // 输出Excel文件头,可把user.csv换成你要的文件名
    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="user.csv"');
    header('Cache-Control: max-age=0');

    $fp = fopen('/tmp/export/data.csv', 'a');
    $head = array('UID', 'EMAIL', '注册时间', '第一次登陆时间');
    foreach ($head as $i => $v) {
    // CSV的Excel支持GBK编码,一定要转换,否则乱码
    $head[$i] = iconv('utf-8', 'gbk', $v);
    }
    fputcsv($fp, $head);

    $result = array(.................................);

    foreach($resutl as $val){
    ob_flush();
    flush();

    // 从数据库中获取数据,为了节省内存,不要把数据一次性读到内存,从句柄中一行一行读即可
    $sql = "SELECT uid,email,regdate,lastlogintime FROM reg_members WHERE email in ($val) ORDER BY uid ASC, regdate ASC";
    $query = $db_reg_read -> query($sql);
    while ($res = $db_reg_read -> fetch_array($query)) {
    $email = strtolower($res['email']);
    $list[] = $res;
    }

    //对数据进行整理

    //输入到CSV中
    foreach($list as $key => $val){
    $row[0] = iconv('utf-8', 'gbk', $val['uid']);
    $row[1] = iconv('utf-8', 'gbk', $val['email']);
    $row[2] = iconv('utf-8', 'gbk', $val['regdate']);
    $row[3] = iconv('utf-8', 'gbk', $val['lastlogintime']);
    fputcsv($fp, $row);
    }
    }

  • 相关阅读:
    【原创】Cookie应用(二)
    空间数据可视化
    jquery 相册
    两个时间的月份差
    SQL2005 分页
    mssql 评估期过了
    获得文件夹内的文件,按时间排序
    linux使用privoxy将55转为http代理
    OpenCV之创建矩阵并画绿色矩形
    vs2010导入vc 6.0的资源文件方法
  • 原文地址:https://www.cnblogs.com/gide/p/4437950.html
Copyright © 2011-2022 走看看