网站后台有很多列表数据,常常都会有导出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参数的数据是一个一维数组,如下:
$data参数是一个二维数组,如下:
调用方法:
$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中文网其它相关文章!
……