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 相关文章推荐
建立动态的WML站点(一)
Oct 09 PHP
关于crontab的使用详解
Jun 24 PHP
ThinkPHP模板自定义标签使用方法
Jun 26 PHP
ThinkPHP字符串函数及常用函数汇总
Jul 18 PHP
php-redis中的sort排序函数总结
Jul 08 PHP
php微信开发之自定义菜单完整流程
Oct 08 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
Jun 11 PHP
PHP yield关键字功能与用法分析
Jan 03 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
May 21 PHP
redis+php实现微博(二)发布与关注功能详解
Sep 23 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
Oct 24 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
May 29 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
PHP调用Twitter的RSS的实现代码
2010/03/10 PHP
thinkphp中memcache的用法实例
2014/11/29 PHP
PHP实现的curl批量请求操作示例
2018/06/06 PHP
Javascript 解疑
2009/11/11 Javascript
JavaScript 学习笔记(十六) js事件
2010/02/01 Javascript
Dom 结点创建 基础知识
2011/10/01 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
Javascript中产生固定结果的函数优化技巧
2013/01/16 Javascript
用显卡加速,轻松把笔记本打造成取暖器的办法!
2013/04/17 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
js通过iframe加载外部网页的实现代码
2015/04/05 Javascript
jQuery背景插件backstretch使用指南
2015/04/21 Javascript
AngularJS 日期格式化详解
2015/12/23 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
ionic2 tabs使用 Modal底部tab弹出框
2016/12/30 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
2017/03/23 jQuery
js实现数字递增特效【仿支付宝我的财富】
2017/05/05 Javascript
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
让Vue响应Map或Set的变化操作
2020/11/11 Javascript
Python实现针对中文排序的方法
2017/05/09 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
wxPython实现列表增删改查功能
2019/11/19 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
2020/07/14 Python
CSS3 :default伪类选择器使用简介
2018/03/15 HTML / CSS
美国领先的在线邮轮旅游公司:CruiseDirect
2018/06/07 全球购物
亿企通软件测试面试题
2012/04/10 面试题
大一新生学期自我评价
2014/04/09 职场文书
员工试用期考核自我鉴定
2014/04/13 职场文书
2015年机械设备管理工作总结
2015/05/04 职场文书
世界文化遗产导游词
2019/08/07 职场文书
mysql联合索引的使用规则
2021/06/23 MySQL
Redis RDB技术底层原理详解
2021/09/04 Redis
Nginx隐藏式跳转(浏览器URL跳转后保持不变)
2022/04/07 Servers