织梦dede自定义表单后台增加php导出到excel功能
首先在网站plus目录创建excel.php文件,并加入如下代码
<?php require_once(dirname(__FILE__).'/config.php'); require_once(DEDEINC.'/typelink.class.php'); require_once(DEDEINC.'/datalistcp.class.php'); require_once(DEDEADMIN.'/inc/inc_list_functions.php'); //加入导出到excel类; class Excel { private $head; private $body; //输出列名数组,并转码 public function addHeader($arr){ foreach($arr as $headVal){ $headVal = $this->charset($headVal); $this->head .= "{$headVal}\t "; } $this->head .= "\n"; } //输出导出内容数组,并转码 public function addBody($arr){ foreach($arr as $arrBody){ foreach($arrBody as $bodyVal){ $bodyVal = $this->charset($bodyVal); $this->body .= "{$bodyVal}\t "; } $this->body .= "\n"; } } //设置header头部信息和导出到excel内容,并输出到浏览器 public function downLoad($filename=''){ if(!$filename) $filename = date('YmdHis',time()).'.xls'; header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=$filename"); header("Content-Type:charset=gb2312"); if($this->head) echo $this->head; echo $this->body; } //转码,这里不用iconv函数,有可能会与gd冲突导致输出空白。 public function charset($string){ return mb_convert_encoding($string,'GBK','auto'); } } //调用方法 $excel = new Excel(); $excel->addHeader(array('姓名','电话','QQ','项目类型','留言内容','访问域名','来源页面','留言时间')); global $dsql; $sql="select name,tel,qq,leixing,lynr,domain,laiyuan,time from dede_diyform1"; $dsql->SetQuery($sql); $dsql->Execute(); while($row = $dsql->GetArray()){ $list[]=$row; } unset($row); $excel->addBody($list); $excel->downLoad(); ?>
上述代码里name,tel,qq,leixing,lynr,domain,laiyuan,time from yudu_diyform1改为自己表单里的字段。
然后找到自定义表单模板diy_list.htm,在里面添加
<?php if($diyid==1) echo "<a href=\"/plus/excel.php\" target=\"_blank\">导出到excel</a>\r\n"; ?>
调用即可。
织梦二次开发QQ群
本站客服QQ号:862782808(点击左边QQ号交流),群号(383578617) 如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!
转载请注明: 织梦模板 » 织梦自定义表单后台增加php导出到excel表