织梦会员信息导出excel表格

1、在织梦/dede/templets下面的member_main.htm,在全选按钮那里添加一个导出excel按钮;代码如下:

<a href=https://www.91084.com/"toexcel.php" class="coolbg" target="_blank">导出到excel</a>

2、在织梦后台dede文件夹下面新建toexcel.php;

toexcel.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');

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); (这个将信息内容转码的这句是不需要的,这个导出excel的代码也是我百度的,但是测试的时候,导出的内容总是有部分的汉字是??的格式,找问题测试了半天发现其实这个内容是不需要转码的,直接导出就不会出现乱码的格式了;据大神给我说的是看编码,有的是需要转码的有的是不需要转码的)

$this->body .= "{$bodyVal}\t ";

}

$this->body .= "\n";

}

}

//设置header头部信息和导出到excel内容,并输出到浏览器

public function downLoad($filename=''){

if(!$filename)

$filename = date('YmdHis',time()).'.xls';

ob_end_clean();

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('id','用户类型','用户帐号','密码','用户昵称','性别','帐号有效期','级别','email','积分','添加时间',

'登录时间','登录IP'));

global $dsql;

$sql="select `mid`,`mtype`,`userid`,`pwd`,`uname`,`sex`,`exptime`,`rank`,`email`,`scores`,`jointime`,`logintime`,`loginip` from `dede_member`";

$dsql->SetQuery($sql);

$dsql->Execute();

while($row = $dsql->GetArray()){

//将添加时间和登录时间转化为2017 16:30 的格式,这样在表格中更容易让人懂,不这样操作的话那么显示出来的是E

foreach($row as $key=>$val){

if($key=='jointime' || $key=='logintime'){

$row[$key]=date("Y-m-d H:i:s",$val);

}

}

$list[]=$row;

}

unset($row);

$excel->addBody($list);

$excel->downLoad();

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsfgfz.html