PHP下载excel表格
public static function downXls($data, $keynames, $headers, $name = "dataxls", $convert = false, $xmlv = false)
{
$xls[] = "<html xmlns:x="urn:schemas-microsoft-com:office:excel"><meta http-equiv=content-type content="text/html; charset=UTF-8"><body><table border="1">";
if ($headers) {
$xls[] = $headers;
}
$xls[] = "<tr><td>ID</td><td>" . implode("</td><td>", array_values($keynames)) . "</td></tr>";
$index = 0;
foreach ($data As $o) {
$line = [++$index];
foreach ($keynames AS $k => $v) {
$line[] = $o[$k];
}
$xls[] = "<tr><td>" . implode("</td><td x:str>", $line) . "</td></tr>";
}
$xls[] = "</table></body></html>";
$xls = join("
", $xls);
if ($xmlv) {
$filename = $name . ".xlsx";
}//excel2007+版本
else {
$filename = $name . ".xls";
}//excel2003版本
if ($convert) {
//修正文件名在某些浏览器当中乱码的问题
$ua = $_SERVER["HTTP_USER_AGENT"];
$encoded_filename = urlencode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
if (preg_match("/MSIE/", $ua)) {
header("Content-Disposition: attachment; filename="" . $encoded_filename . """);
} else {
if (preg_match("/Firefox/", $ua)) {
header("Content-Disposition: attachment; filename*="utf8""" . $filename . """);
} else {
header("Content-Disposition: attachment; filename="" . $filename . """);
}
}
} else {
header("Content-Disposition: attachment; filename="" . $filename . """);
}
die(mb_convert_encoding($xls, "UTF-8", "UTF-8"));
}
$list=[
["id"=>2,
"name"=>"汪杨",
"address"=>"湖南"
],
["id"=>2,
"name"=>"汪杨",
"address"=>"18612345678"
]
];
$header=[
"id"=>"ID",
"name"=>"姓名",
"address"=>"地址"
];
Excel::downXls($list,$header,"aa","aa11");
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: yii1.1.14
- 下一篇: linux CENTOS7下mbstring扩展安装