<?php
/**
*@导出excel
* @$data(二维数组) 传来的数据,$field(关联一维数组)字段, $name(string) 表的名称
*/
function excel($data,$field,$name=''){
if(empty($name)){
$time = date('Y年m月d日',time());
$name= $time.'导出数据';
}
if(!is_array($data) || !is_string($name)){
return false;
}else if(count($field) !== count($field, 1)){
return false;
}else if(count($data) == count($data, 1)){
return false;
}else{
//二维数组操作
$td='';$th='';
foreach ($data as $key=>$val) {
$td.='<tr>';
foreach ($field as $k => $v) {
if(!$key){
$th.='<th style="vnd.ms-excel.numberformat:@">'.$v.'</th>';;
}
$td.='<td style="vnd.ms-excel.numberformat:@">'.$val[$k].'</td>';
}
$td.='</tr>';
}
}
header("Pragma: public");
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition: inline;filename=".$name.".xls");
return '<meta http-equiv=\'Content-Type\' content=\'text/html; charset=UTF-8\' /><table table border=\'1\' width=\'50%\' ><tr><th colspan="'.count($field).'">'.date('Y年m月d日',time()).'导出数据</th></tr><tr>'.$th.'</tr>'.$td.'</table>';
}
//示例
$result=[
'0'=>[
'id'=>1,
'name'=>'小张',
'sex'=>'男',
'ege'=>'27'
]]
;
$field=[
'id'=> 'ID',
'name'=> '姓名',
'sex'=> '性别',
'ege'=> '年龄'
];
echo excel($result,$field,'下载');
php 导出为excel表格
猜你喜欢
转载自blog.csdn.net/weixin_45609681/article/details/103732083
今日推荐
周排行