PHP实现导出表格,简单,方便

<?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();

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饭饭咿呀呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值