欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php导出excel表格的方法分享(代码)

程序员文章站 2022-04-29 15:28:30
...
本篇文章给大家带来的内容是关于php导出excel表格的方法分享(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

网站后台有很多列表数据,常常都会有导出excel表格的需求,和大家分享一个实用的导出excel表格方法;

不多说,上代码;

/**
     * @param array $data 要导出的数据
     * @param array $title excel表格的表头
     * @param string $filename 文件名
     */
    public function daochu_excel($data=array(),$title=array(),$filename='报表'){//导出excel表格
        //处理中文文件名
        ob_end_clean();
        Header('content-Type:application/vnd.ms-excel;charset=utf-8');
    
        header("Content-Disposition:attachment;filename=export_data.xls");
        //处理中文文件名
        $ua = $_SERVER["HTTP_USER_AGENT"];
    
        $encoded_filename = urlencode($filename);
        $encoded_filename = str_replace("+", "%20", $encoded_filename);
        if (preg_match("/MSIE/", $ua) || preg_match("/LCTE/", $ua) || $ua == 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko') {
            header('Content-Disposition: attachment; filename="' . $encoded_filename . '.xls"');
        }else {
            header('Content-Disposition: attachment; filename="' . $filename . '.xls"');
        }
        header ( "Content-type:application/vnd.ms-excel" );
    
    
        $html = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
            <html xmlns='http://www.w3.org/1999/xhtml'>
            <meta http-equiv='Content-type' content='text/html;charset=UTF-8' />
            <head>
    
            <title>".$filename."</title>
            <style>
            td{
                text-align:center;
                font-size:12px;
                font-family:Arial, Helvetica, sans-serif;
                border:#1C7A80 1px solid;
                color:#152122;
                width:auto;
            }
            table,tr{
                border-style:none;
            }
            .title{
                background:#7DDCF0;
                color:#FFFFFF;
                font-weight:bold;
            }
            </style>
            </head>
            <body>
            <table width='100%' border='1'>
              <tr>";
        foreach($title as $k=>$v){
            $html .= " <td class='title' style='text-align:center;'>".$v."</td>";
        }
    
        $html .= "</tr>";
    
        foreach ($data as $key => $value) {
            $html .= "<tr>";
            foreach($value as $aa){
                $html .= "<td>".$aa."</td>";
            }
    
            $html .= "</tr>";
    
        }
        $html .= "</table></body></html>";
        echo $html;
        exit;
    }

$title参数的数据是一个一维数组,如下:
php导出excel表格的方法分享(代码)

$data参数是一个二维数组,如下:

php导出excel表格的方法分享(代码)

调用方法:

$daochuData = DB::table('scholarship_to_weixin as s')->leftJoin('users as u','s.uid','=','u.id')
                ->leftJoin('admin as a','a.id','=','s.tx_checkid')
                ->orderBy('s.times','desc')
                ->select('s.*','u.nickname','u.tel','u.id as u_id','a.name as a_name','u.admin_beizhu_name')
                ->get();
            $title = array('序号','申请时间','申请人','备注名称','申请人手机号','提现金额','操作时间','操作人');
            $arr = [];
            foreach($daochuData as $k=>$v){
                $arr[] = array(
                        $k+1,
                        $v->times,
                        $v->nickname,
                        $v->admin_beizhu_name,
                        $v->tel,
                        $v->money,
                        $v->s_times,
                        $v->a_name
                );
            }
            
            $this->daochu_excel($arr,$title,'红包提现到微信记录');

结果:
php导出excel表格的方法分享(代码)希望对您有帮助。

以上就是php导出excel表格的方法分享(代码)的详细内容,更多请关注其它相关文章!

相关标签: php