$csvname = $csvname . '.csv';
header('Content-Type: application/vnd.ms-excel;charset=GB2312');
header('Content-Disposition: attachment;filename="' . $csvname . '"');
header('Cache-Control: max-age=0');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-cache, must-revalidate'); //HTTP/1.1
//open handle,php://output 表示直接输出到浏览器
$fp = fopen('php://output', 'a'); //output csv first column
$head = $columName;
foreach ($head as $i => $v) {
$head[$i] = iconv('utf-8', 'gbk', $v);
}
fputcsv($fp, $head); // 计数器
$cnt = 0;
$limit = 2000; // 从数据库中获取数据,节省内存,从句柄中一行一行读即可
$i = 2; foreach ($result as $key => $val) {
$cnt++;
//每隔$limit行,刷新一下输出buffer
if ($limit == $cnt) {
ob_flush();
flush();
$cnt = 0;
} $rows[$i] = iconv('utf-8', 'gbk', $val['vendor_item']);
$rows[$i + 1] = iconv('utf-8', 'gbk', $val['item_code']);
$rows[$i + 2] = iconv('utf-8', 'gbk', $val['product_name']);
$rows[$i + 3] = iconv('utf-8', 'gbk', $val['brand_code']);
$rows[$i + 4] = iconv('utf-8', 'gbk', $val['brand']);
$rows[$i + 5] = iconv('utf-8', 'gbk', $val['vendor_id']);
$rows[$i + 6] = iconv('utf-8', 'gbk', $val['vendor_name']);
$rows[$i + 7] = iconv('utf-8', 'gbk', $val['warehouse_code']);
$rows[$i + 8] = iconv('utf-8', 'gbk', $val['quantity']);
$rows[$i + 9] = iconv('utf-8', 'gbk', $val['lockcount']);
$rows[$i + 10] = iconv('utf-8', 'gbk', $val['bindcount']);
fputcsv($fp, $rows);
//释放数组
unset($rows);
}

CSV导出大量数据的更多相关文章

  1. Hive导出复杂数据到csv文件

    工作中经常遇到使用Hive导出数据到文本文件供数据分析时使用.Hive导出复杂数据到csv等文本文件时,有时会遇到以下几个问题: 导出的数据只有数据没有列名. 导出的数据比较复杂时,如字符串内包含一些 ...

  2. php 用csv文件导出大量数据初方案

    背景:接手的项目中支持导出一批数据,全数量在50W左右.在接手的时候看代码是直接一次查询MySQL获得数据,然后用header函数直接写入csv,用户开始导出则自动下载.但是,在全导出的时候,功能出现 ...

  3. php导出百万数据到csv

    <?php set_time_limit(0); // 设置超时 ini_set('memory_limit', '100M'); // 设置最大使用的内存 header("Conte ...

  4. PHP csv导出数据

    全部导出和时间导出 html代码,全程并不需要引用什么插件 <include file="public@header"/> <link href="__ ...

  5. PHP csv导出数据 (二)

    全部导出和时间导出 html代码,全程并不需要引用什么插件 <include file="public@header"/> <link href="__ ...

  6. [转载] php用csv文件导出大量数据

    header ( "Content-type:application/vnd.ms-excel" ); header ( "Content-Disposition:fil ...

  7. 导入CSV格式的数据

    导入CSV格式的数据 (参见http://dev.mysql.com/doc/refman/5.6/en/load-data.html) 1.数据库表(st_pptn_r) CREATE TABLE ...

  8. DB2导入导出数据库数据

    导出数据库中数据 在db2cmd命令下生成建库脚本(-z指定模式名) db2look -d BBS -z db2admin -u db2admin -e -o bbs.sql 在db2cmd命令下导出 ...

  9. yii的csv导出

    数据导出,简单的csv导出, public static function export($parameter){ if (is_array($parameter)) { $filename = da ...

随机推荐

  1. TechSmith Camtasia Studio屏幕录像编辑工具

    TechSmith Camtasia Studio屏幕录像编辑工具... --------------------------------------------------------- ----- ...

  2. 2017年8月28日 HTML/CSS 语法(待填坑)

    今天这种节日真的是 ----------------------------------------------------------- HTML  

  3. Day-1: Python准备知识

    python简介 不同于c语言这种贴近硬件的言语,Python是用来编写应用程序的高级编程语言.Python是一款开源软件,所以它有非常完善的代码库,宝库内置的基本库和众多开发者提供的第三方库.这就允 ...

  4. JavaScript 30 - 2 学习笔记

    学习JavaScirpt30的笔记! 有意思! 2------->   CSS clock 效果是这样的.... 这是改良过后的 版本.... 话不多说,直接来看代码. 首先是html部分 &l ...

  5. 网络唤醒原理浅析(Wake On LAN)

    之前我的一篇文章<网络唤醒全攻略(Wake On Lan)>介绍过如何设置远程唤醒电脑,着重于使用,这篇主要从原理方面解析一下当中的奥妙: 原理 将唤醒魔术包发送的被唤醒机器的网卡上,魔术 ...

  6. pomelo 安装 windows 下

    最近一直在捣鼓这个东西,看着个的先记录下发帖时间, pomelo 现在最新版是2.0 的,和之前的版本的启动时有区别的(命令行)的,可以进pomelo官网去看下基本的信息, 在pomelo官方论坛上的 ...

  7. CentOS7.3虚拟机扩展数据磁盘

    操作之前需要重点查看: 由于扩容磁盘的操作非同小可,一旦哪一步出现问题,就会导致分区损坏,数据丢失等一系列严重的问题,因此建议:在进行虚拟机分区扩容之前,一定要备份重要数据文件,并且先在测试机上验证以 ...

  8. Flask01 路由控制(转换器)、反转、请求方法控制

    1 提出问题 如何实现前端传过去的路径时动态的(即:多个url对应一个url视图函数) 例如: 浏览器中输入 http://127.0.0.1:5000/test/good/ 或者 http://12 ...

  9. 详解session

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp30 一.术语session 在我的经验里,session这个词被滥用的程度 ...

  10. 定时调度框架:Quartz.net

    Quartz.net相关概念 经常出现场景:定时轮询数据库同步,定时邮件通知,定时处理数据等 Scheduler (计划者或调度器) Job (工作对象):将要定时执行的任务代码写到实现Ijob接口的 ...