Thinkphp 导出大量数据 csv格式
public function test2() {
$user_count = M('department')->count();
$page = ceil($user_count / 10000);
$fp = fopen('c:\file.csv', 'w');
for ($p = 1; $p <= $page; $p++) {
$user = M('department')->page($p . ',10000')->select();
foreach ($user as $fields) {
foreach ($fields as $i => $v) {
$fields[$i] = iconv('utf-8', 'gbk', $v);
}
fputcsv($fp, $fields);
}
unset($user);
}
fclose($fp);
}
public function exportseller($begindate = '', $enddate = '', $areaid = 0, $search = '') {
ini_set('memory_limit','1024M');
set_time_limit ( 0 );
$where = array (); // 筛选条件集合
$areaid = session ( 'authority' ); // 区域经理角色限定查看区域
// 选择起止时间后,才显示记录
if (isset ( $_GET ['begindate'] ) && isset ( $_GET ['enddate'] )) {
$begindate = I ( 'get.begindate' );
$enddate = I ( 'get.enddate' );
$begindate .= " 00:00:00";
$enddate .= " 23:59:59";
$where ['r.createtime'] = array (
'between',
array (
$begindate,
$enddate
)
);
if (FALSE === empty ( $_GET ['search'] )) {
$search = I ( 'get.search' );
$where ['i.user'] = array (
'like',
'%' . $search . '%'
);
}
if ($areaid > 0) {
$where ['s.id_area'] = $areaid;
} elseif (FALSE === empty ( $_GET ['areaid'] )) {
$areaid = I ( 'get.areaid' );
$where ['s.id_area'] = $areaid;
} else {
}
$record = D ( 'Record' );
$xlsCell = array ('comp'=>'所属公司','sellername'=>'姓名','sellermobile'=>'手机号','sellerjob'=>'岗位','shopno'=>'店铺编号','shopname'=>'店铺名称','areaname'=>'所属市场','prodname'=>'商品名称','sellerjifen'=>'积分','seltime'=>'销售时间','wuliu'=>'物流码','jfcd'=>'积分码','card_num'=>'银行卡号','FGoodsCode'=>'产品编号','FGoodsName'=>'产品名称','FBillDate'=>'出入库时间','FClientCode'=>'经销商编号','FClientName'=>'经销商名称','istoo'=>'是否匹配');
$list = $record->sellerReport ( $where );
foreach ( $list as $i => $row ) {
$webdata=M('WebserviceData');
$map['box_code']=array('eq',$row['wuliu']);
$arr=$webdata->where($map)->find();
//$arr = $this->webServerData ( $row ['wuliu'] );
$row ['FGoodsCode'] = $arr ['FGoodsCode'];
$row ['FGoodsName'] = $arr ['FGoodsName'];
$row ['FBillDate'] = $arr ['FBillDate'];
$row ['FClientCode'] = $arr ['FClientCode'];
$row ['FClientName'] = $arr ['FClientName'];
$row ['istoo'] = $arr ['FClientCode'] == $row ['shopno'] ? '匹配' : '不匹配';
$str[$i]=array_iconv($row);
}
array_unshift($str,array_iconv($xlsCell));
header ( "Content-type:application/vnd.ms-excel" );
header ( "Content-Disposition:filename=" . iconv ( "UTF-8", "GB18030", "美容师统计报表".date('_YmdHis') ) . ".csv" );
$fp = fopen('php://output', 'a');
foreach ($str as $key=>$line)
{
fputcsv($fp,$line);
}
fclose($fp);
// \Admin\Model\ExcelModel::exportExcel ( '美容师统计报表', $xlsCell, $list );
}
die();
//end modify
$this->display();
}
Thinkphp 导出大量数据 csv格式的更多相关文章
- hive 导出如数为csv格式
hive导出csv格式的数据 命令如下: hive -e "select concat_ws(',',appKey,clickJson) adt.jsontest as st from &q ...
- mysql 导出导入数据 -csv
MySql数据库导出csv文件命令: mysql> select first_name,last_name,email from account into outfile 'e://output ...
- Mongodb 导出json 和csv 格式数据
导出到json: $ mongoexport.exe -d TestDB -c TestCollection -o ./test.json 导出到csv: If you want to outpu ...
- mongodb导出数据csv格式
mongoexport -d test -c item --type=csv -f salary,city,workYear,companyShortName -o user.csvmongoexpo ...
- php 导出excle的.csv格式的数据时乱码问题
1.header('Content-Encoding: XXXX'); 有可能是编码问题:可以尝试UTF-8,GBK,GB2312,等编码格式 2.有可能是文件编码问题,虽然UTF-8不建议带BOM, ...
- 【MySQL】数据导出导入成CSV格式
一.自动输出中文字符集 select * from db into outfile 'test.csv' CHARACTER SET gbk fields terminated by ',' opti ...
- PHP导出超大的CSV格式的Excel表方案
场景和痛点 说明 我们工作场景都常会导出相关的excel数据,有时候需要大量的数据,10W,100W都有可能 我们现有方案都是直接利用phpexcel等类库来操作,phpexcel的load加载或是写 ...
- Highcharts使用CSV格式数据绘制图表
Highcharts使用CSV格式数据绘制图表 CSV(Comma-Separated Values,逗号分隔值文本格式)是採用逗号切割的纯文本数据.通常情况下.每一个数据之间使用逗号切割,几个相关数 ...
- PL/SOL csv格式导出查询结果时出现某些列的数据被四舍五入了的解决办法
昨天用pl/sql从oracle数据库捞取数据时,发现导出的csv格式中某些列的数据被进行了四舍五入处理了,当然这些列都是纯数字的,百思不得其解,后来上网才,才得知了原因. 这并不是导出的CSV文件数 ...
随机推荐
- JPA基本介绍以及使用
JPA即Java Persistence Architecture,Java持久化规范,从EJB2.x版本中原来的实体Bean分离出来的,EJB3.x中不再有实体Bean,而是将实体Bean放到J ...
- if、while中变量的作用域问题
我们知道,函数.类会改变当前变量的作用域.if,while等分支循环结构会继承外部作用域,即外部变量对分支循环结构内部可见. 但是C语言不支持if,while等分支循环结构内部作用域对外可见,而PHP ...
- Angular2 如何使用jquery
网上找了很多版本尝试都不行,最后在stackoverflow上找到一个,尝试完美解决 具体操作步骤如下 1. 安装jquery npm install jquery 2.安装 type for jqu ...
- PowerMock单元测试
在Java程序的单元测试中常用的mock工具有Mockito和EasyMock.但是这两种mock工具都无法实现对静态.final.私有方法或类的mock.因此有了功能强大的PowerMock工具.P ...
- lunix,命令集锦
1. ls命令 ls命令是列出目录内容(List Directory Contents)的意思.运行它就是列出文件夹里的内容,可能是文件也可能是文件夹. ? 1 2 3 4 5 6 7 root@te ...
- C# 如何将窗体写到Dll中
步骤: 1.解决方案资源管理器窗口->右击项目属性 2.属性窗口->应用程序->输出类型(U)->类库
- 记一则css3计算
.Head{ background-image: url("../../Img/PersonalCenter/banner.png"); background-repeat: no ...
- android 2.3.3 配置github的两步骤
第一步:配置GitHub的总账号(Version Control) 第二步:配置具体的仓库(仓库名称你从GitHub网上添加)
- shell编程——保留元字符
在shell中有以下几种字符含有特殊含义,属于保留元字符: & * + ^ $ ` " | ? 当脚本在执行过程中遇到上述字符时,会执行其具有的特殊含义,除非在前面加"\& ...
- ss查看状态
ps -ef | grep ss-server | grep -v ps | grep -v grep