$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. Java中的继承性特性

    继承性是java中的第二特性之一.而继承性最为关键的地方为:代码重用性的问题,利用继承性可以从已有的类中继续派生出新的子类,也可以利用子类扩展出更多的操作功能. 继承性的实现代码为:class 子类 ...

  2. Spring(三)--AOP【面向切面编程】、通知类型及使用、切入点表达式

    1.概念:Aspect Oriented Programming 面向切面编程 在方法的前后添加方法   2.作用:本质上来说是一种简化代码的方式      继承机制      封装方法      动 ...

  3. [js高手之路]设计模式系列课程-单例模式实现模态框

    什么是单例呢? 单,就是一个的意思.例:就是实例化出来的对象,那合在一起就是保证一个构造函数只能new出一个实例,为什么要学习单例模式呢?或者说单例模式有哪些常见的应用场景.它的使用还是很广泛,比如: ...

  4. python+selenium自动化软件测试(第2章):WebDriver API

    2.1 操作元素基本方法 前言前面已经把环境搭建好了,从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可 ...

  5. sort与qsort的用法,建议使用sort

    做ACM题的时候,排序是一种经常要用到的操作.如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错.STL里面有个sort函数,可以直接对数组排序,复 ...

  6. Springboot 框架实现rest接口风格

    在springboot中的一些注解解释: http://blog.csdn.net/u010399316/article/details/52913299 书写规则可参照这个: http://blog ...

  7. [转]Java7中的ForkJoin并发框架初探(下)—— ForkJoin的应用

    详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp86   前两篇文章已经对Fork Join的设计和JDK中源码的简要分析 ...

  8. 团队作业4——第一次项目冲刺(Alpha版本) 2

    一.Daily Scrum Meeting照片 二.燃尽图 三.项目进展 1.完成了大部分查重算法的书写. 余弦查重算法 2.其他非主页面的部分设计. 查重过程的显示页面 四.困难与问题 1.算法是程 ...

  9. 姑娘你大胆地往前走——答大二学生XCL之八问

    姑娘你大胆地往前走--答大二学生XCL之八问 以下问题的答案写给我家正在读大二的XCL. 写于 2017-9-13 晚 请问您是为什么选择了IT行业的? 与其说是我选择了行业,不如说是行业选择了我. ...

  10. Java 第五周总结

    1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 不能. ...