原創文章引自(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);
}
``````php
本作品採用《CC 協議》,轉載必須註明作者和本文連結