CSV导出大量数据
$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导出大量数据的更多相关文章
- Hive导出复杂数据到csv文件
工作中经常遇到使用Hive导出数据到文本文件供数据分析时使用.Hive导出复杂数据到csv等文本文件时,有时会遇到以下几个问题: 导出的数据只有数据没有列名. 导出的数据比较复杂时,如字符串内包含一些 ...
- php 用csv文件导出大量数据初方案
背景:接手的项目中支持导出一批数据,全数量在50W左右.在接手的时候看代码是直接一次查询MySQL获得数据,然后用header函数直接写入csv,用户开始导出则自动下载.但是,在全导出的时候,功能出现 ...
- php导出百万数据到csv
<?php set_time_limit(0); // 设置超时 ini_set('memory_limit', '100M'); // 设置最大使用的内存 header("Conte ...
- PHP csv导出数据
全部导出和时间导出 html代码,全程并不需要引用什么插件 <include file="public@header"/> <link href="__ ...
- PHP csv导出数据 (二)
全部导出和时间导出 html代码,全程并不需要引用什么插件 <include file="public@header"/> <link href="__ ...
- [转载] php用csv文件导出大量数据
header ( "Content-type:application/vnd.ms-excel" ); header ( "Content-Disposition:fil ...
- 导入CSV格式的数据
导入CSV格式的数据 (参见http://dev.mysql.com/doc/refman/5.6/en/load-data.html) 1.数据库表(st_pptn_r) CREATE TABLE ...
- DB2导入导出数据库数据
导出数据库中数据 在db2cmd命令下生成建库脚本(-z指定模式名) db2look -d BBS -z db2admin -u db2admin -e -o bbs.sql 在db2cmd命令下导出 ...
- yii的csv导出
数据导出,简单的csv导出, public static function export($parameter){ if (is_array($parameter)) { $filename = da ...
随机推荐
- Python量化投资知识总结贴
Ricequant 量化社区的初衷让各位爱好量化的人士可以碰撞思维,在分享和争辩中学习到有用且实战的量化知识.有赖于各位在社区中贡献满满的干货以及有质量的讨论,从编程入门教学到技术指标再到多因子选股. ...
- C++读取csv表格文件到vector
这个CSV文件假设知道每行有多少个数,也知道数据的格式,即可使用下面简单的方法实现. 我们假设每行有4个数据,依次是int,int,float,float 基本思路是:把每行的数据定为一个类型,放在v ...
- C#使用Xamarin开发可移植移动应用进阶篇(9.混淆代码,防止反编译)
前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 今天讲讲如 ...
- 我的acm vim 备忘
一.從命令到編輯模式 a :当前单词后面插入Appendi :当前位置插入Inserto :当前行下新开一行插入Open new lineA :当前行尾插入AppendI :当前行首插入InsertO ...
- [Caffe]使用经验积累
Caffe使用经验积累 本贴记录Caffe编译好了,使用过程的常用命令与常见错误解决方式.如果对编译过程还存在问题,请参考史上最全的caffe安装过程配置Caffe环境. 1 使用方法 训练网络 xx ...
- copy和mutableCopy都是浅拷贝!!!------你被骗了很多年
所有系统容器类的copy或mutableCopy方法,都是浅拷贝!!! (ps:什么是容器?比如NSArray,NSMutableArray,NSDictionary,NSMutableDiction ...
- java与32/64位虚拟机
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt232 32位电脑与64位电脑有什么不同? 我们通常说的64位技术是相对于32 ...
- 关于hashmap的理解
首先分析第一个比较重要的方法 put 方法,源码如下 public V put(K key, V value) { if (key == null) return putForNullKey(valu ...
- setTimeout,setInterval你不知道的…
javascript线程解释(setTimeout,setInterval你不知道的事) 标签: javascript引擎任务浏览器functionxmlhttprequest 2011-11-21 ...
- 全面解析for循环
牛刀小试: for(var i = 0 ; i < 100; i++) {console.log(i);} var i = 0;//第一个代码段 i < 100; //第二个代码段 i++ ...