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 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
Oct 09 PHP
php中获取远程客户端的真实ip地址的方法
Aug 03 PHP
解析关于wamp启动是80端口被占用的问题
Jun 21 PHP
解析php中的escape函数
Jun 29 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
Jul 18 PHP
PHP+AJAX实现投票功能的方法
Sep 28 PHP
php ajax实现文件上传进度条
Mar 29 PHP
laravel5创建service provider和facade的方法详解
Jul 26 PHP
一个简单安全的PHP验证码类、PHP验证码
Sep 24 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
PHP lcfirst()函数定义与用法
Mar 08 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
Apr 04 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
提问的智慧(2)
2006/10/09 PHP
php 数组二分法查找函数代码
2010/02/16 PHP
PHP 使用MySQL管理Session的回调函数详解
2013/06/21 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
PHP实现的DES加密解密实例代码
2016/04/06 PHP
图片之间的切换
2006/06/26 Javascript
跨浏览器的事件对象介绍
2012/06/27 Javascript
javascript面向对象之this关键词用法分析
2015/01/13 Javascript
Java Mybatis框架入门基础教程
2015/09/21 Javascript
一不小心就做错的JS闭包面试题
2015/11/25 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
微信小程序的日期选择器的实例详解
2017/09/29 Javascript
浅谈Postman解决token传参的问题
2018/03/31 Javascript
在webstorm开发微信小程序之使用阿里自定义字体图标的方法
2018/11/15 Javascript
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
功能完善的小程序日历组件的实现
2020/03/31 Javascript
js实现可爱的气泡特效
2020/09/05 Javascript
python爬虫爬取淘宝商品信息(selenum+phontomjs)
2018/02/24 Python
详解pyqt5 动画在QThread线程中无法运行问题
2018/05/05 Python
Python网页解析器使用实例详解
2020/05/30 Python
Python collections模块的使用方法
2020/10/09 Python
使用CSS3实现多列布局与多背景的技巧
2016/02/29 HTML / CSS
方太官方网上商城:销售方太抽油烟机、燃气灶、消毒柜等
2017/01/17 全球购物
方正Java笔试题
2014/07/03 面试题
企业门卫岗位职责
2013/12/12 职场文书
旅游管理专业个人求职信范文
2013/12/24 职场文书
运动会广播稿60字
2014/01/15 职场文书
招聘与培训专员岗位职责
2014/01/30 职场文书
师范生求职自荐信
2014/06/14 职场文书
家长会欢迎标语
2014/06/24 职场文书
2014年小学校长工作总结
2014/12/08 职场文书
运动会跳远广播稿
2015/08/19 职场文书
Oracle 死锁的检测查询及处理
2021/09/25 Oracle
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
2022/04/12 PostgreSQL
MongoDB数据库之添删改查
2022/04/26 MongoDB