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

<a href="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 `#@__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();

?>

最新文章

  1. c/c++中关于sizeof、strlen的使用说明
  2. tomcat结合nginx使用小结
  3. 如何解决phpcms后台验证码不显示的问题
  4. C语言-&gt;实验室-&gt;指针数组
  5. Jquery-EasyUI学习~
  6. js的语句
  7. 使用NSData处理数据
  8. Android项目目录结构
  9. [Swift]LeetCode565. 数组嵌套 | Array Nesting
  10. 插入mysql失败,因为java数据类型是个实体类,加上.id就好了
  11. es7 async/await使用
  12. 【托业】【全真题库】TEST2-语法题
  13. IDEA项目搭建十四——Web站点Controller基类及布局页静态资源设计
  14. 大雄的elk实践
  15. python第三十一课--递归(3.递归的弊端)
  16. BZOJ5019 SNOI2017遗失的答案(容斥原理)
  17. cas Cas20ProxyReceivingTicketValidationFilter
  18. [Boolan-C++学习笔记]第一周整理
  19. Java之集合Collection
  20. C# RSA数据加密

热门文章

  1. 【主席树 启发式合并】bzoj3123: [Sdoi2013]森林
  2. Codeforces Round #513 (rated, Div. 1 + Div. 2)
  3. JAVA中文字符串编码--GBK转UTF-8
  4. 【markdown】图片的处理
  5. 配置wamp开发环境之mysql的配置
  6. python爬虫基础15-python图像处理,PIL库
  7. c++IDE
  8. &lt;原创&gt; 通过PEB获得进程路径 (附完整工程)
  9. MFC拾遗
  10. javascript基础 方法 函数 闭包 集合