原创文章引自(https://www.ympfb.com/show-30-61-1.html)
php 开发导出excel表格,代码如何写呢?今天给大家分享这个,
我们想做的是 把数据库里的数据导出,导出成excel表格,按照我们的规则导出成我们想要的样子,下面直接给大家上源码,
这个是具体的逻辑代码
$list = Db::table('form')->where('create_time', '>', $stat_time)->select()
->where('create_time','<',$end_time);
if(empty($list)){
echo "<script>alert('暂时无数据');window.history.back();</script>";
exit();
}
//dump($list);die;
foreach ($list as $key => $value) {
$tuij=Db::table('form')->where('id',$value['id'])->find();
$arr[$key]['username']=$tuij['username'];
$arr[$key]['phone']=$tuij['phone'];
$arr[$key]['source']=$tuij['source'];
$arr[$key]['text']=$value['text'];
$arr[$key]['create_time']=$value['create_time'];
}
if(empty($list)){
echo "<script>alert('暂时无数据');window.history.back();</script>";
exit();
}
//$list为所需要导出的数据
$header=array('姓名','电话','来源','留言','提交时间');
$index=array('username','phone','source','text','create_time');
$filename="表单落地页有效推广";
$this->createtable($arr,$filename,$header,$index);
}
上面的代码中 最后一行 提到了一个方法createtable,这个是一个公共方法,大家可以放到公共类里,也可以直接放在这个类里,下面是源码
/** * 导出公共方法 * * @return \think\Response */ function createtable($list,$filename,$header,$index){ header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=".$filename.".xls"); $teble_header = implode("\t",$header); $strexport = $teble_header."\r"; foreach ($list as $row){ foreach($index as $val){ $strexport.=$row[$val]."\t"; } $strexport.="\r"; } $strexport=iconv('UTF-8',"GB2312//IGNORE",$strexport); exit($strexport); }
浙公网安备 33010602011771号