<?php
/**
* @creator Jimmy
* @data 2018/1/05
* @desc 数据导出到excel(csv文件)
* @param $filename 导出的csv文件名称 如date("Y年m月j日").'-test.csv'
* @param array $tileArray 所有列名称
* @param array $dataArray 所有列数据
*/
function exportToExcel($filename, $tileArray=[], $dataArray=[]){
ini_set('memory_limit','512M');
ini_set('max_execution_time',0);
ob_end_clean();
ob_start();
header("Content-Type: text/csv");
header("Content-Disposition:filename=".$filename);
$fp=fopen('php://output','w');
fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF));//转码 防止乱码(比如微信昵称(乱七八糟的))
fputcsv($fp,$tileArray);
$index = 0;
foreach ($dataArray as $item) {
if($index==1000){
$index=0;
ob_flush();
flush();
}
$index++;
fputcsv($fp,$item);
}
ob_flush();
flush();
ob_end_clean();
}
$ssssd = [1=>'正常 未兑换',2=>'正常 已兑换',3=>'正常 过期',4=>'正常商家已提现',5=>'作废'];
// 查询满足要求的总记录数
$count = 10;
$ppp = ceil($count/10000);
$pp = range(1,$ppp);
foreach ($pp as $kkk => $vvv) {
//可以自己查数据库
$rs[$kkk] = array(
array(
'nickname' => '张三',
'coder' => '12',
'manager' => '管理员1',
'phone' => '123456',
'exchange_time' => '2019-04-19',
'winning_time' => '2019-04-22',
'title'=> '2019-04-22',
'money' => 20,
'status' => 1
),
);
$str[$kkk] = "用户昵称,兑奖门店号,核销员,核销员手机号,中奖时间,兑换时间,奖项名称,中奖金额,兑换状态";
$exl11[$kkk] = explode(',',$str[$kkk]);
foreach ($rs[$kkk] as $k => $v){
if (!$v['nickname']) $v['nickname'] = '暂无数据';
if (!$v['coder']) $v['coder'] = '暂无数据';
if (!$v['manager']) $v['manager'] = '暂无数据';
if (!$v['phone']) $v['phone'] = '暂无数据';
if (!$v['winning_time']) $v['winning_time'] = '暂无数据';
if (!$v['exchange_time']) $v['exchange_time'] = '暂无数据';
if (!$v['title']) $v['title'] = '暂无数据';
if (!$v['money']) $v['money'] = '暂无数据';
$exl[$kkk][] = array(
$v['nickname'],$v['coder'],$v['manager'],$v['phone'],$v['winning_time'],$v['exchange_time'],$v['title'],$v['money'],$ssssd[$v['status']]
);
}
exportToExcel('兑奖记录_'.time().$vvv.'.csv',$exl11[$kkk],$exl[$kkk]);
}
exit();