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

WBOY
发布: 2016-06-23 14:00:32
原创
1002 人浏览过

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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!