首頁 > 後端開發 > php教程 > Thinkphp将表格的数据导出到excel文件

Thinkphp将表格的数据导出到excel文件

WBOY
發布: 2016-06-23 14:00:32
原創
1051 人瀏覽過

Thinkphp将表格的数据导出到excel文件


回复讨论(解决方案)

/**	    * 导出数据为excel表格	    *@param $data    一个二维数组,结构如同从数据库查出来的数组	    *@param $title   excel的第一行标题,一个数组,如果为空则没有标题	    *@param $filename 下载的文件名	    *@examlpe 	    $stu = M ('User');	    $arr = $stu -> select();	    exportexcel($arr,array('id','账户','密码','昵称'),'文件名!');	*/	 function exportexcel($data=array(),$title=array(),$filename='report'){	    header("Content-type:application/octet-stream");	    header("Accept-Ranges:bytes");	    header("Content-type:application/vnd.ms-excel");  	    header("Content-Disposition:attachment;filename=".$filename.".xls");	    header("Pragma: no-cache");	    header("Expires: 0");	    //导出xls 开始	    if (!empty($title)){	        foreach ($title as $k => $v) {	            $title[$k]=iconv("UTF-8", "GB2312",$v);	        }	        $title= implode("\t", $title);	        echo "$title\n";	    }	    if (!empty($data)){	        foreach($data as $key=>$val){	            foreach ($val as $ck => $cv) {	                $data[$key][$ck]=iconv("UTF-8", "GB2312", $cv);	            }	            $data[$key]=implode("\t", $data[$key]);	            	        }	        echo implode("\n",$data);	    }	 }
登入後複製
登入後複製

/**	    * 导出数据为excel表格	    *@param $data    一个二维数组,结构如同从数据库查出来的数组	    *@param $title   excel的第一行标题,一个数组,如果为空则没有标题	    *@param $filename 下载的文件名	    *@examlpe 	    $stu = M ('User');	    $arr = $stu -> select();	    exportexcel($arr,array('id','账户','密码','昵称'),'文件名!');	*/	 function exportexcel($data=array(),$title=array(),$filename='report'){	    header("Content-type:application/octet-stream");	    header("Accept-Ranges:bytes");	    header("Content-type:application/vnd.ms-excel");  	    header("Content-Disposition:attachment;filename=".$filename.".xls");	    header("Pragma: no-cache");	    header("Expires: 0");	    //导出xls 开始	    if (!empty($title)){	        foreach ($title as $k => $v) {	            $title[$k]=iconv("UTF-8", "GB2312",$v);	        }	        $title= implode("\t", $title);	        echo "$title\n";	    }	    if (!empty($data)){	        foreach($data as $key=>$val){	            foreach ($val as $ck => $cv) {	                $data[$key][$ck]=iconv("UTF-8", "GB2312", $cv);	            }	            $data[$key]=implode("\t", $data[$key]);	            	        }	        echo implode("\n",$data);	    }	 }
登入後複製
登入後複製

$date $title $filename是前台页面传过来的值吗

你前台传过来的值 最好是经过后台的处理 再调用这个方法 传参数

学习了,不错

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板