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 08 PHP
关于二级目录拖拽排序的实现(源码示例下载)
Apr 26 PHP
PHP Curl出现403错误的解决办法
May 29 PHP
php实现在多维数组中查找特定value的方法
Jul 29 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
Jul 09 PHP
php常用正则函数实例小结
Dec 29 PHP
PHP微信分享开发详解
Jan 14 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
PHP等比例压缩图片的实例代码
Jul 26 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
May 14 PHP
PHP使用redis位图bitMap 实现签到功能
Oct 08 PHP
漂亮的thinkphp 跳转页封装示例
Oct 16 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+SQL 注入攻击的技术实现以及预防办法
2011/01/27 PHP
php中require和require_once的区别说明
2014/02/27 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
2014/09/12 PHP
9个比较实用的php代码片段
2016/03/15 PHP
PHP未登录自动跳转到登录页面
2016/12/21 PHP
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
Javascript 命名空间模式
2013/11/01 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
2014/06/20 Javascript
推荐一款jQuery插件模板
2015/01/09 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
2015/01/28 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
完美解决浏览器跨域的几种方法(汇总)
2017/05/08 Javascript
详解React项目的服务端渲染改造(koa2+webpack3.11)
2018/03/19 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
Angular resolve基础用法详解
2018/10/03 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
jQuery--遍历操作实例小结【后代、同胞及过滤】
2020/05/22 jQuery
vue+Element-ui前端实现分页效果
2020/11/15 Javascript
[08:44]和酒神一起战斗 DOTA2教你做大人
2014/03/27 DOTA
python类型强制转换long to int的代码
2013/02/10 Python
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
根据DataFrame某一列的值来选择具体的某一行方法
2018/07/03 Python
python里 super类的工作原理详解
2019/06/19 Python
Python中的 is 和 == 以及字符串驻留机制详解
2019/06/28 Python
Python socket 套接字实现通信详解
2019/08/27 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
2020/01/18 Python
Python生成器next方法和send方法区别详解
2020/05/30 Python
pandas参数设置的实用小技巧
2020/08/23 Python
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
2019/09/09 HTML / CSS
校园歌手大赛策划书
2014/01/17 职场文书
工作迟到检讨书范文
2015/05/06 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书
优秀范文:《但愿人长久》教学反思3篇
2019/10/24 职场文书
Python中常见的反爬机制及其破解方法总结
2021/06/10 Python