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文件数 ...
随机推荐
- iframe显示跨域url页面
可以通过JS搞定跨域问题,但是比较麻烦,我就在后台处理了,其实这样本质上也算不上是跨域了 后台otherwebsite.php: <?php $url="www.otherwebsit ...
- 【转】BMR(Block Media Recovery)
关于RMAN的块恢复.Block是oracle数据库最小恢复单位.鉴于此,BMR可以大大缩短恢复的时间,另外,在进行BMR时不需要停掉数据库,可以直接在数据库open状态对数据文件进行恢复,只是需要恢 ...
- 【转】Android 中处理崩溃异常并重启程序出现页面重叠的问题
原文地址:http://blog.csdn.net/jiang547860818/article/details/53641113 android开发中经常会遇到程序异常,而已常常会遇到一出现异常AP ...
- django的实现异步机制celery
celery 一句话总结:celery是一种实现异步的机制,对于比较耗时的任务可以使用其来减少客户端等待时间(注册邮箱验证),提高用户体验. 官方网站 中文文档 示例一:用户发起request,并等待 ...
- Spring Boot实践——Filter实现
Filter介绍 Filter是Servlet规范规定的,不属于spring框架,也是用于请求的拦截.但是它适合更粗粒度的拦截,在请求前后做一些编解码处理.日志记录等. 一个Filter包括:1).在 ...
- Shiro的校验Session是否过期处理的过程
首先开启定时扫描活跃的session进行校验 <!-- shiro会话管理 --> <!-- 即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中:会话可以是普通 Jav ...
- rails 网站字体
方法1,在rubymine下查找所有css,scss,sass,less,修改所有带font-family的内容,删除public文件夹下面的缓存css,查看效果.如 body { backgroun ...
- Java设计模式之——抽象工厂
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂.该超级工厂又称为其他工厂的工厂.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 在抽 ...
- 将中国标准时间转成yyyy-MM-dd
public static void main(String[] args) throws ParseException { String s = "Tue Jul 12 00:00:00 ...
- Python_09-面向对象编程
目录: 1 面向对象编程1.1 简单例子1.2 调用1.3 python命名规范(约定)1.4 类的设计1.4.1 Exception 异常捕获结构1.4.2 自定 ...