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

不言
Lepaskan: 2023-04-04 08:22:02
ke hadapan
9838 orang telah melayarinya

本篇文章给大家带来的内容是关于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 &#39;-//W3C//DTD XHTML 1.0 Transitional//EN&#39; &#39;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#39;>
            <html xmlns=&#39;http://www.w3.org/1999/xhtml&#39;>
            <meta http-equiv=&#39;Content-type&#39; content=&#39;text/html;charset=UTF-8&#39; />
            <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=&#39;100%&#39; border=&#39;1&#39;>
              <tr>";
        foreach($title as $k=>$v){
            $html .= " <td class=&#39;title&#39; style=&#39;text-align:center;&#39;>".$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;
    }
Salin selepas log masuk

$title参数的数据是一个一维数组,如下:
1405671-20180927144956692-1915647187.png

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

1405671-20180927144856465-401743902.png

调用方法:

$daochuData = DB::table(&#39;scholarship_to_weixin as s&#39;)->leftJoin(&#39;users as u&#39;,&#39;s.uid&#39;,&#39;=&#39;,&#39;u.id&#39;)
                ->leftJoin(&#39;admin as a&#39;,&#39;a.id&#39;,&#39;=&#39;,&#39;s.tx_checkid&#39;)
                ->orderBy(&#39;s.times&#39;,&#39;desc&#39;)
                ->select(&#39;s.*&#39;,&#39;u.nickname&#39;,&#39;u.tel&#39;,&#39;u.id as u_id&#39;,&#39;a.name as a_name&#39;,&#39;u.admin_beizhu_name&#39;)
                ->get();
            $title = array(&#39;序号&#39;,&#39;申请时间&#39;,&#39;申请人&#39;,&#39;备注名称&#39;,&#39;申请人手机号&#39;,&#39;提现金额&#39;,&#39;操作时间&#39;,&#39;操作人&#39;);
            $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,&#39;红包提现到微信记录&#39;);
Salin selepas log masuk

结果:
 1405671-20180927145650413-242680932.png希望对您有帮助。

Atas ialah kandungan terperinci php导出excel表格的方法分享(代码). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:cnblogs.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan