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);
}
时间: 2024-08-27 21:14:51

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

php导出excel数据使用csv替代xls格式

php导出excel数据使用csv替代xls格式 一直以来需要将某些后台数据导出来以供运营人员查看,因为他们都用excel.所以最初的选择是用phpExcel这个工具包来实现导出数据为xls格式,后来发现数据量比较大的情况下(超过1W),就比较慢了. http://www.zroran.com/it/php/9.html 之前使用phpexcel的过程如下 $objPHPExcel = new PHPExcel(); $excelobj = $objPHPExcel->setActiveShee

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

header ( "Content-type:application/vnd.ms-excel" ); header ( "Content-Disposition:filename=" . iconv ( "UTF-8", "GB18030", "query_user_info" ) . ".csv" ); // 打开PHP文件句柄,php://output 表示直接输出到浏览器 $fp

PHP导出MySQL数据到Excel文件

PHP导出MySQL数据到Excel文件 转载 常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存使用上限.这里的方法是利用fputcsv写CSV文件的方法,直接向浏览器输出Excel文件. ? 1 <br><!--?php// 输出Excel文件头,可把user.csv换成你要的文件名header('Content-Type: application/vnd.ms-excel');he

yii的csv导出

数据导出,简单的csv导出, public static function export($parameter){ if (is_array($parameter)) { $filename = date('Y-m-d_H-i-s') . '.csv'; header('Content-Type: text/csv'); header("Content-Disposition: attachment;filename={$filename}"); $fp = fopen('php://

导出列表数据

最近项目需求:导出数据为csv格式. 项目环境:后端Node 前端用a标签的download属性下载 <a class="btn btn-primary" ng-href="http://xxxx/order/exportOrders?year={{year}}&month={{month}}" download="list.csv">导出</a> 后端代码: var json2csv = require('jso

DB2导入导出数据库数据

导出数据库中数据 在db2cmd命令下生成建库脚本(-z指定模式名) db2look -d BBS -z db2admin -u db2admin -e -o bbs.sql 在db2cmd命令下导出数据 db2move BBS export -sn db2admin -u db2admin -p db2admin 导入数据到数据库 1.使用指定的csv格式的数据文件并生成日志文件 import   from   "D:/tmp/qm_east_info.csv"   OF   DEL

导入CSV格式的数据

导入CSV格式的数据 (参见http://dev.mysql.com/doc/refman/5.6/en/load-data.html) 1.数据库表(st_pptn_r) CREATE TABLE st_pptn_r ( STCD varchar(8) DEFAULT NULL, TM datetime DEFAULT NULL, DRP decimal(5,1) DEFAULT NULL, INTV decimal(5,2) DEFAULT NULL, PDR decimal(5,2) DE

[转] Asp.Net 导出 Excel 数据的9种方案

湛刚 de BLOG 原文地址 Asp.Net 导出 Excel 数据的9种方案 简介 Excel 的强大之处在于它不仅仅只能打开Excel格式的文档,它还能打开CSV格式.Tab格式.website table 等多钟格式的文档.它具备自动识别行号,字符,格式化数字等功能,例如:如果你在Excel 单元格中输入数字 "123456789012" 会自动转化为"1.23457E+11". 背景介绍 正因为Excel的强大和易用,大家都喜欢将数据导出为 Excel 备

larave导出excel数据简单的组装

$data = [['订单编号', '服务类目', '服务类型', '商品名称', '商品型号', '特殊要求', '客户姓名', '手机号码', '客户地址', '是否到货', '物流公司', '物流单号', '提货地址', '提货电话' , '代付运费', '下单人', '联系电话'],];$i = 0;foreach ($tasks as $key => $value) { $data[$i + 1] = [$value['task_sn'], $value['serve_type_nam