zoukankan      html  css  js  c++  java
  • php 导出csv

    /**
    * 导出excel(csv)
    * @data 导出数据
    * @headlist 第一行,列名
    * @fileName 输出Excel文件名
    */
    function csv_export($data = array(), $headlist = array(), $fileName) {

    header('Content-Type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="'.$fileName.'.csv"');
    header('Cache-Control: max-age=0');

    //打开PHP文件句柄,php://output 表示直接输出到浏览器
    $fp = fopen('php://output', 'a');

    //输出Excel列名信息
    foreach ($headlist as $key => $value) {
    //CSV的Excel支持GBK编码,一定要转换,否则乱码
    $headlist[$key] = iconv('utf-8', 'gbk', $value);
    }

    //将数据通过fputcsv写到文件句柄
    fputcsv($fp, $headlist);

    //计数器
    $num = 0;

    //每隔$limit行,刷新一下输出buffer,不要太大,也不要太小
    $limit = 100000;

    //逐行取出数据,不浪费内存
    $count = count($data);
    for ($i = 0; $i < $count; $i++) {

    $num++;

    //刷新一下输出buffer,防止由于数据过多造成问题
    if ($limit == $num) {
    ob_flush();
    flush();
    $num = 0;
    }

    $row = $data[$i];
    foreach ($row as $key => $value) {
    $row[$key] = iconv('utf-8', 'gbk', $value);
    }

    fputcsv($fp, $row);
    }
    }

  • 相关阅读:
    datatime,time,string转换和format格式化处理
    迭代器和生成器进一步的认识
    对数据结构的新认识
    python StringIO中的 read()与 getvalue()
    git 分支策略
    js词法分析
    js作用域
    注解
    MapReduce过程详解(基于hadoop2.x架构)
    指数基金
  • 原文地址:https://www.cnblogs.com/zonglonglong/p/13937525.html
Copyright © 2011-2022 走看看