Dwz与thinkphp整合下的数据导出到Excel实例


Posted in PHP onDecember 04, 2014

本文实例讲述了Dwz与thinkphp整合下的数据导出到Excel的方法。分享给大家供大家参考。具体方法如下:

这个问题困扰了我很久,终于还是自己写JQUERY把它搞掂了,希望能对遇到同样问题的人有所帮助,好吧,下面就是源代码:

jquery代码如下:

$(function(){  

  

        //_getIds方法就是获取已选的要导出的数据的ID,设了两个参数selectedIds--已选id的input名称,targetType-->碎片模式,默认是navTab,如果是dialog的自行修改  

function _getIds(selectedIds,targetType){  

        var ids="";  

        var $box=targetType=="dialog"?$.pdialog.getCurrent():navTab.getCurrentPanel();  

        $box.find("input:checked").filter("[name='"+selectedIds+"']").each(function(i){  

  

            var val=$(this).val();  

            ids+=i==0?val:","+val;});  

            return ids;  

        }  

        //导出excel的按钮 class=iconn,click时触发  

$(".iconn").click(  

function(){  

//因为这个方法直运用到导出到excel 所以这里所需的参数变量我直接写死了  

var targetType="navTab";  

var selectedIds="ids";  

var postType="string";//批量选择的话,以文本的形式获取  

var ids=_getIds(selectedIds,targetType);  

if(!ids){  

alertMsg.error($(".iconn").attr("warn"));  

return false;  

//alert("请选择要导出的数据!");  

}else{  

//将获取到的ids 传给后台处理  

window.open("__URL__/memberExport/ids/"+ids);  

}  

  

});  

});

PHP代码如下:
//member成员信息导出到excel  

public function memberExport(){  

    $id=$_REQUEST['ids'];//获取已选数据的ID  

    //echo $id;  

  

//在这里导出到excel我没有用到phpexcel,是自己写的,很简单,相信大家都明白是什么意思,根据自己需要自行修改就行了  

    $filename=date('Y-m-d');  

    header("Pragma:public");  

header("Expires:0");  

header("Cache-Control:must-revalidate,post-check=0,pre-check=0");  

header("Content-Type:application/force-download");  

header("Content-Type:application/vnd.ms-execl;charset=gb2312");  

header("Content-Type:application/octet-stream");  

header("Content-Type:application/download");  

header('Content-Disposition:attachment;filename="'.$filename.'.xls"');  

header("Content-Transfer-Encoding:binary");  

if(!$id){  

$this->error('非法操作!');  

}else{  

  

$map['id']=array('in',$id);  

$title="用户名\t 姓名\t 部门\t 职务\t 身份证\t 职称\t 学历\t 毕业时间\t 录用时间";  

$title=iconv('utf-8','gbk',$title);  

echo $title;  

set_time_limit(0);  

   $offset= 0;  

   $length=100;  

$Member = M('Member');  

$list=$Member->where($map)->order('id desc')->select();  

if(!$list){  

$this->error('操作错误!');  

}else{  

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

echo "\n";  

echo iconv('utf-8','gbk',$row['username'])."\t";  

echo iconv('utf-8','gbk',$row['name'])."\t";  

echo iconv('utf-8','gbk',$row['department'])."\t";  

echo iconv('utf-8','gbk',$row['zhiwu'])."\t";  

echo iconv('utf-8','gbk',$row['sfz'])."\t";  

echo iconv('utf-8','gbk',$row['zhicheng'])."\t";  

echo iconv('utf-8','gbk',$row['xueli'])."\t";  

echo iconv('utf-8','gbk',$row['bytime'])."\t";  

echo iconv('utf-8','gbk',$row['lytime'])."\t";  

  

}  

$offset+=$length;  

}  

}  

}

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php之字符串变相相减的代码
Mar 19 PHP
php中对2个数组相加的函数
Jun 24 PHP
php 阴历-农历-转换类代码
Jan 16 PHP
PHP数据类型之整数类型、浮点数的介绍
Apr 28 PHP
PHP mkdir()无写权限的问题解决方法
Jun 19 PHP
PHP实现递归复制整个文件夹的类实例
Aug 03 PHP
纯php生成随机密码
Oct 30 PHP
php 人员权限管理(RBAC)实例(推荐)
May 24 PHP
Laravel程序架构设计思路之使用动作类
Jun 07 PHP
Yii1.1框架实现PHP极光推送消息通知功能
Sep 06 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
Nov 10 PHP
yii的CURD操作实例详解
Dec 04 #PHP
Yii的CDbCriteria查询条件用法实例
Dec 04 #PHP
php生成随机颜色方法汇总
Dec 03 #PHP
php实现使用正则将文本中的网址转换成链接标签
Dec 03 #PHP
Yii框架中memcache用法实例
Dec 03 #PHP
yii中widget的用法
Dec 03 #PHP
Yii使用ajax验证显示错误messagebox的解决方法
Dec 03 #PHP
You might like
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
2013/05/27 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
php实现博客,论坛图片防盗链的方法
2016/10/15 PHP
php实现快速对二维数组某一列进行组装的方法小结
2019/12/04 PHP
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
fancybox modal的完美解决(右上的X)
2012/10/30 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
SeaJS入门教程系列之完整示例(三)
2014/03/03 Javascript
jQuery的context属性用法实例
2014/12/27 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
2015/02/02 Javascript
深入解析JavaScript中的数字对象与字符串对象
2015/10/21 Javascript
js实现简单计算器
2015/11/22 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
微信小程序如何使用云开发
2019/05/17 Javascript
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
Pandas DataFrame 取一行数据会得到Series的方法
2018/11/10 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
2020/03/30 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
基于HTML5 FileSystem API的使用介绍
2013/04/24 HTML / CSS
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
巴西体育用品商店:Lojão dos Esportes
2018/07/21 全球购物
Super-Pharm波兰:药房和香水在一个地方
2020/08/18 全球购物
Shell编程面试题
2016/05/29 面试题
给女儿的表扬信
2014/01/18 职场文书
幼儿园秋游感想
2014/03/12 职场文书
《大海那边》教学反思
2014/04/09 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫