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();

?>

dedecms--会员信息导出excel表格的更多相关文章

  1. 使用NPOI将数据库里信息导出Excel表格并提示用户下载

    使用NPOI进行导出Excel表格大家基本都会,我在网上却很少找到导出Excel表格并提示下载的 简单的代码如下 //mvc项目可以传多个id以逗号相隔的字符串 public ActionResult ...

  2. PHP导入导出excel表格图片(转)

    写excel的时候,我用过pear的库,也用过pack压包的头,同样那些利用smarty等作的简单替换xml的也用过,csv的就更不用谈了.呵呵.(COM方式不讲了,这种可读的太多了,我也写过利用wp ...

  3. .NET环境下导出Excel表格的两种方式和导入两种类型的Excel表格

    一.导出Excel表格的两种方式,其中两种方式指的是导出XML数据类型的Excel(即保存的时候可以只需要修改扩展名为.xls)和真正的Excel这两种. using System; using Sy ...

  4. java导出excel表格

    java导出excel表格: 1.导入jar包 <dependency> <groupId>org.apache.poi</groupId> <artifac ...

  5. 将包含经纬度点位信息的Excel表格数据导入到ArcMap中并输出成shapefile

    将包含经纬信息的Excel表格数据,导入到ArcMap中并输出成shapefile,再进行后面的操作.使用这种方法可以将每一个包含经纬信息的数据在ArcMap中点出来. 一.准备数据 新建Excel表 ...

  6. Spring Boot 导出Excel表格

    Spring Boot 导出Excel表格 添加支持 <!--添加导入/出表格依赖--> <dependency> <groupId>org.apache.poi& ...

  7. js导出excel表格中较长数字串会变成科学计数法问题

    在做项目中,遇到导出excel表格时,银行账户号数字过长,导出的数字串变为计数法形式,如下图: 网上搜到解决方法,粘贴到这以供学习.不断更新. 原博地址:http://www.cnblogs.com/ ...

  8. PHP导入导出excel表格图片的代码和方法大全

    基本上导出的文件分为两种: 1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已.修改这种文件后再保存,通常会提示你是否要转换成Excel文件 ...

  9. NPOI_winfrom导出Excel表格(一)(合并单元格、规定范围加外边框、存储路径弹框选择)

    1.导出 private void btn_print_Click(object sender, EventArgs e) { DataTable dtNew = new DataTable(); d ...

随机推荐

  1. Python学习笔记5(函数)

    [摘要]本文详细介绍python中的函数,以及与之相关的参数和作用域的概念,并介绍递归的概念以及在程序中的应用. 函数定义 定义函数要用函数定义语句def.如下: def hello(name): r ...

  2. destoon 信息发布表单提交验证

    sell 模块的form表单如下: <form method="post" id="dform" action="?" target= ...

  3. 22.Yii2.0框架多表关联一对一查询之hasOne

    思路: 通过文章查它对应的分类信息 一对一的关系 控制器里 //一对一关联查询 public function actionRelatesone() { //方法一,hasOne() 用查一条文章的结 ...

  4. re--读书笔记【转】

    原文链接 * 正则表达式入门 1.正则表达式的两种基本用途:搜索和替换. 2.正则表达式是一些用来匹配和处理文本的字符串. 小结:正则表达式是文本处理方面功能最强大的工具之一,正则表达式语言用来构造正 ...

  5. Cinder配置多Ceph后端步骤

    1. 检查cinder当前backend配置 使用cinder service-list,查看cinder-volume服务的Host字段格式. 旧版格式: 新版格式: 旧版中Host字段是cinde ...

  6. 利用virt-manager,xmanager, xshell启动界面来管理虚拟机

    有时候我们需要搭建一套自己的简单环境来启动一个虚拟机,验证一些问题. 1.首先我利用vmware workstation来创建centos7虚拟机,然后开启虚拟化,如下图所示. 2.其次,启动虚拟机, ...

  7. SPOJ QTREE4 - Query on a tree IV 树分治

    题意: 给出一棵边带权的树,初始树上所有节点都是白色. 有两种操作: C x,改变节点x的颜色,即白变黑,黑变白 A,询问树中最远的两个白色节点的距离,这两个白色节点可以重合(此时距离为0). 分析: ...

  8. myeclipse中hibernate生成映射文件

    在hibernate中,每个数据表对应的其实是一个实体类,每个实体类有一个对应的hbm.xml配置文件匹配,myeclipse中有个MyEclipse Database Explorer视图,它提供了 ...

  9. Java多线程框架源码阅读之---ReentrantLock

    ReentrantLock基于Sync内部类来完成锁.Sync有两个不同的子类NonfairSync和FairSync.Sync继承于AbstractQueuedSynchronizer. Reent ...

  10. [windows篇][关掉某些服务]