csv下载功能整理

这个是第一钟方法:

public function exproOrderData($pre,$where)


    $csv=new \Org\Util\Csv();

    $logic = new \Financial\Model\EbayOrdersModel();

    $result = array();

    //这个是标题

    $arr = array('','');

    foreach ($pre as $key => $value) {

        $list = $logic->getData($where,$value);

        $result = array_merge($list,$result);

    }

    $csv->csvDownload($result,$arr);

}

public function csvDownload($data,$title)


    $file_name="文件名字".date("y-m-d",time()).".csv";

    header ( 'Content-Type: application/vnd.ms-excel' );

    header ( 'Content-Disposition: attachment;filename='.$file_name );

    header ( 'Cache-Control: max-age=0' );

    $file = fopen('php://output',"a");

    $limit=1000;

    $calc=0;

    foreach ($title as $v){

        $tit[]=iconv('UTF-8', 'GB2312//IGNORE',$v);

    }

    fputcsv($file,$tit);

    //如果是三维数组可以在这加一个foreach循环

    foreach($data AS $key=>$j){

        $calc++;

        if($limit==$calc){

            ob_flush();

            flush();

            $calc=0;

        }

        foreach ($j as $t){

            $tarr[]=iconv('UTF-8', 'GB2312//IGNORE',trim($t));

        }

        fputcsv($file,$tarr);

        unset($tarr);

    }

    unset($data);

    fclose($file);

    exit();

}

第二种

public function action_down(){

    if(!empty($list)){

        define('EOL',"\n");

        $content = 'sku,品名,期初数,期初数,期初数,本期入库,本期入库,本期入库,本期出库,本期出库,本期出库,期末数,期末数,期末数'.EOL;

        $content .= 'sku,品名,数量,单价,金额,数量,单价,金额,数量,单价,金额,数量,单价,金额'.EOL;

        foreach($list as $v){

            $content .= $v['sku'].',';

            $content .= $v['sku_name'].',';

            $content .= $v['quantity'].',';

            $content .= $v['price'].',';

            $content .= $v['total'].',';

            $content .= $v['w_quantity'].',';

            $content .= $v['w_price'].',';

            $content .= $v['w_total'].',';

            $content .= $v['d_quantity'].',';

            $content .= $v['d_price'].',';

            $content .= $v['d_total'].',';

            $content .= $v['n_quantity'].',';

            $content .= $v['n_price'].',';

            $content .= $v['n_total'];

            $content.=EOL;

        }

 

        header("Content-type:text/csv");

        header("Content-Disposition:attachment;filename=test.csv");

        header('Cache-Control:must-revalidate,post-check=0,pre-check=0');

        header('Expires:0');

        header('Pragma:public');

        echo $content;exit;

    }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值