koxi

php导出excel表格的使用

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

不多说,上代码;

 1  /**
 2      * @param array $data 要导出的数据
 3      * @param array $title excel表格的表头
 4      * @param string $filename 文件名
 5      */
 6     public function daochu_excel($data=array(),$title=array(),$filename=\'报表\'){//导出excel表格
 7         //处理中文文件名
 8         ob_end_clean();
 9         Header(\'content-Type:application/vnd.ms-excel;charset=utf-8\');
10     
11         header("Content-Disposition:attachment;filename=export_data.xls");
12         //处理中文文件名
13         $ua = $_SERVER["HTTP_USER_AGENT"];
14     
15         $encoded_filename = urlencode($filename);
16         $encoded_filename = str_replace("+", "%20", $encoded_filename);
17         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\') {
18             header(\'Content-Disposition: attachment; filename="\' . $encoded_filename . \'.xls"\');
19         }else {
20             header(\'Content-Disposition: attachment; filename="\' . $filename . \'.xls"\');
21         }
22         header ( "Content-type:application/vnd.ms-excel" );
23     
24     
25         $html = "<!DOCTYPE html PUBLIC \'-//W3C//DTD XHTML 1.0 Transitional//EN\' \'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\'>
26             <html xmlns=\'http://www.w3.org/1999/xhtml\'>
27             <meta http-equiv=\'Content-type\' content=\'text/html;charset=UTF-8\' />
28             <head>
29     
30             <title>".$filename."</title>
31             <style>
32             td{
33                 text-align:center;
34                 font-size:12px;
35                 font-family:Arial, Helvetica, sans-serif;
36                 border:#1C7A80 1px solid;
37                 color:#152122;
38                 width:auto;
39             }
40             table,tr{
41                 border-style:none;
42             }
43             .title{
44                 background:#7DDCF0;
45                 color:#FFFFFF;
46                 font-weight:bold;
47             }
48             </style>
49             </head>
50             <body>
51             <table width=\'100%\' border=\'1\'>
52               <tr>";
53         foreach($title as $k=>$v){
54             $html .= " <td class=\'title\' style=\'text-align:center;\'>".$v."</td>";
55         }
56     
57         $html .= "</tr>";
58     
59         foreach ($data as $key => $value) {
60             $html .= "<tr>";
61             foreach($value as $aa){
62                 $html .= "<td>".$aa."</td>";
63             }
64     
65             $html .= "</tr>";
66     
67         }
68         $html .= "</table></body></html>";
69         echo $html;
70         exit;
71     }

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

 

调用方法:

 1 $daochuData = DB::table(\'scholarship_to_weixin as s\')->leftJoin(\'users as u\',\'s.uid\',\'=\',\'u.id\')
 2                 ->leftJoin(\'admin as a\',\'a.id\',\'=\',\'s.tx_checkid\')
 3                 ->orderBy(\'s.times\',\'desc\')
 4                 ->select(\'s.*\',\'u.nickname\',\'u.tel\',\'u.id as u_id\',\'a.name as a_name\',\'u.admin_beizhu_name\')
 5                 ->get();
 6 
 7             $title = array(\'序号\',\'申请时间\',\'申请人\',\'备注名称\',\'申请人手机号\',\'提现金额\',\'操作时间\',\'操作人\');
 8 
 9             $arr = [];
10             foreach($daochuData as $k=>$v){
11                 $arr[] = array(
12                         $k+1,
13                         $v->times,
14                         $v->nickname,
15                         $v->admin_beizhu_name,
16                         $v->tel,
17                         $v->money,
18                         $v->s_times,
19                         $v->a_name
20                 );
21             }
22             
23             $this->daochu_excel($arr,$title,\'红包提现到微信记录\');

 

结果:

 

希望对您有帮助。谢谢!

 

发表于 2018-09-27 14:59  瞪眼看太阳  阅读(453)  评论(0编辑  收藏  举报
 

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-15
  • 2021-07-11
  • 2021-05-24
  • 2021-12-15
  • 2022-12-23
猜你喜欢
  • 2022-02-10
  • 2021-12-05
  • 2021-12-05
  • 2021-12-05
  • 2021-11-23
  • 2022-12-23
相关资源
相似解决方案