$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. JavaScript对象遍历

    一.对象是数组: var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1]; //each遍历: $.each(arr,function (index,value) { alert( ...

  2. Html5笔记之第四天

    属性 值 描述 accesskey character 规定访问元素的键盘快捷键 class classname 规定元素的类名(用于规定样式表中的类). contenteditable true f ...

  3. jQuery菜单示例(全选,反选,取消)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. [2012-08-21]FreeBSD9.0体验记

    最近在看<构建高可用Linux服务器> 由于对FreeBSD的稳定性仰慕已久,正好参照该书的指导进行体验一二. 先感谢下该书作者余大大,同时做个声明:本文中若有命令脚本涉及版权问题,请与p ...

  5. Java后台开发必备软件(windows环境下)

    一.必备软件 1.Jdk,推荐下载最新版2.Ide,推荐 IntelliJ IDEA3.服务器,如 tomcat / jetty4.数据库终端界面,推荐 Navicat Premium(自行破解),5 ...

  6. 运用jQuery写的验证表单

    //运用jQuery写的验证表单 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  7. 常用的十大Python开发工具

    据权威机构统计,Python人才需求量每日高达5000+,但目前市场上会 Python 的程序员少之又少, 竞争小,很容易快速高薪就业.可能你并不太了解常用的十大Python开发工具都有哪些,现在告诉 ...

  8. URI和URL的区别 一起学习呗

    一直存在很多技术上的争论,其中最为妙的恐怕就是web地址应该叫什么的问题.通常情况就是这样:有人把地址栏的内容叫"URL",这时候有些人就来劲了:"不!其实那就是URI. ...

  9. 关于querySelector 和 document.getElementsByTagName 选中集合问题

    本文解决的问题是 :运用for..of..循环时,edge浏览器报Object doesn't support property or method 'symbol.iterator'问题 以及 符号 ...

  10. chrome开发工具指南(九)

    检查和管理存储.数据库与缓存 查看和修改本地存储与会话存储. 检查和修改 IndexedDB 数据库. 对 Web SQL 数据库执行语句. 查看应用缓存和服务工作线程缓存. 点击一次按钮即可清除所有 ...