首页 > Web开发 > 详细

PHP 文件导出(Excel, CSV,txt)

时间:2018-11-23 15:59:30      阅读:207      评论:0      收藏:0      [点我收藏+]

PHPExcel: 可以在我的文件中下载phpexcel放到项目中用!!

1,Excel 导出:

 

    /**
     * Excel导出例子
     */
    public function excel($res){
        $objPHPExcel = new PHPExcel();
        $objPHPExcel->getProperties()->setCreator("XXX");
        $objPHPExcel->setActiveSheetIndex(0);
        $objActSheet = $objPHPExcel->getActiveSheet();

        $objActSheet->setCellValue(A1, 门店名称);
        $objActSheet->setCellValue(B1, 门店UID);
        $objActSheet->setCellValue(C1, 交易时间);
        $objActSheet->setCellValue(D1, 应收金额);
        $objActSheet->setCellValue(E1, 实收金额);
        $objActSheet->setCellValue(F1, 支付笔数);
        $objActSheet->setCellValue(G1, 取消笔数);
        $objActSheet->setCellValue(H1, 应扣手续费);
        $objActSheet->setCellValue(I1, 实扣手续费);
        $objActSheet->setCellValue(J1, 红包);
        $objActSheet->setCellValue(K1, 结算金额);

        $i = 2 ;
        $data = $res[0]; //数据
        // $shop_list = $res[1];
        $ymd = $res[2]; //时间
        foreach($data as $k=>$rs){

            $objActSheet->setCellValue(A.$i, !empty($rs[shop_name])?$rs[shop_name]:‘‘);
            
            $objActSheet->setCellValue(B.$i, $rs[shop_sub_id]);
            //交易时间
            $objActSheet->setCellValue(C.$i, $ymd);
            
            $objActSheet->setCellValue(D.$i, !empty($rs[pay_price]) ? $rs[pay_price] : 0);
            $objActSheet->setCellValue(E.$i, !empty($rs[jiao]) ? $rs[jiao] : 0);
            $objActSheet->setCellValue(F.$i, !empty($rs[count_success]) ? $rs[count_success] : 0);
            $objActSheet->setCellValue(G.$i, !empty($rs[count_fail]) ? $rs[count_fail] : 0);
            $objActSheet->setCellValue(H.$i, !empty($rs[ought]) ? $rs[ought] : 0);
            $objActSheet->setCellValue(I.$i, !empty($rs[reality_poundage]) ? $rs[reality_poundage] : 0);
            $objActSheet->setCellValue(J.$i, !empty($rs[rebate]) ? $rs[rebate] : 0);
            $objActSheet->setCellValue(K.$i, !empty($rs[jie]) ? $rs[jie] : 0);

            $i++;
        }
  
        $fname = order_.time();

        ob_end_clean();//清除缓冲区,避免乱码
        header(Content-Type: application/vnd.ms-excel);
        header(Content-Disposition: attachment;filename=".$fname..xls");
        header(Cache-Control: max-age=0);
        // If you‘re serving to IE 9, then the following may be needed
        header(Cache-Control: max-age=1);
        // If you‘re serving to IE over SSL, then the following may be needed
        header (Expires: Mon, 26 Jul 1997 05:00:00 GMT); // Date in the past
        header (Last-Modified: .gmdate(D, d M Y H:i:s). GMT); // always modified
        header (Cache-Control: cache, must-revalidate); // HTTP/1.1
        header (Pragma: public); // HTTP/1.0
        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, Excel5);
        $objWriter->save(php://output);
    }

 

2, CSV导出:

   $filename = csv_. time();
   $title="标题1,标题2,标题N";
   $this->export($filename,  $title);
   $this->csv($csv_res);
  
================ 下面是调用方法例子 =============================================================
/** * 导出csv文件 * @param 文件名 $filename * @param 数据 $data * @param 从数据中取指定字段 $fileds * @param 字段名 多个用逗号分割 $title * @param 数据量过大标记 $tooMuch */ public function export($filename, $title,$tooMuch=0){ $filename = @iconv(UTF-8,GBK,$filename..csv); header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=".$filename); header(Cache-Control:must-revalidate,post-check=0,pre-check=0); header(Expires:0); header(Pragma:public); echo @iconv(UTF-8, GBK//IGNORE, $title)."\r\n"; } /** * [csv 导出数据] * @param [type] $data [数据] * @return [type] [description] */ private function csv($data) { $regex = "/[ ‘.,:;*?~`!@#$%^&+_=<>{}]|\]|\[|\/|\\|\"|\|/"; if (!empty($data)) { foreach ($data as $key => $value) { $value[shop_name]=isset($value[shop_name])?FuncHelper::escapeEmoji($value[shop_name]):-; $address=isset($value[address])?$value[address]:-;//门店地址 $shop_name=preg_replace($regex,"",$value[shop_name]); $board_total = isset($value[board_total]) ? $value[board_total]:"0"; $first_login_time = isset($value[first_login_time]) ? date(Y-m-d H:i:s,$value[first_login_time]):"-"; $goods_count = isset($value[goods_count]) ? $value[goods_count]:"0"; $pay_sum = isset($value[pay_sum]) ? $value[pay_sum]:"0"; echo ".@mb_convert_encoding($value[id], GBK, UTF-8).",; echo ".@mb_convert_encoding($value[uid], GBK, UTF-8).",; echo ".@mb_convert_encoding($shop_name, GBK, UTF-8).",; echo ".@mb_convert_encoding($address, GBK, UTF-8).",; echo ".@mb_convert_encoding($board_total, GBK, UTF-8).",; echo ".@mb_convert_encoding($first_login_time, GBK, UTF-8).",; echo ".@mb_convert_encoding($goods_count, GBK, UTF-8).",; echo ".@mb_convert_encoding($pay_sum, GBK, UTF-8).",; echo " \r\n"; } } }

3, txt导出

只需要把上面CSV导出的 export方法改一句参数就可以

        $filename = @mb_convert_encoding($filename . .txt, GBK, UTF-8); //.csv的文件名改为.txt
        // header("Content-type:application/vnd.ms-excel");
        header(Content-Type: application/octet-stream); //上面的改为这句

 

PHP 文件导出(Excel, CSV,txt)

原文:https://www.cnblogs.com/pyspang/p/10007877.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!