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 相关文章推荐
学习discuz php 引入文件的方法DISCUZ_ROOT
Jun 21 PHP
php 正则表达式小结
Aug 31 PHP
PHP STRING 陷阱原理说明
Jul 24 PHP
php各种编码集详解和以及在什么情况下进行使用
Sep 11 PHP
php生成局部唯一识别码LUID的代码
Oct 06 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
Jan 06 PHP
解析mysql 表中的碎片产生原因以及清理
Jun 22 PHP
php转换颜色为其反色的方法
Apr 27 PHP
Smarty模板变量调节器用法分析
May 23 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
May 01 PHP
Laravel框架Eloquent ORM删除数据操作示例
Dec 03 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
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
php中文验证码实现示例分享
2014/01/12 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
2015/01/22 PHP
微信公众号开发之语音消息识别php代码
2016/08/08 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
JQuery操作textarea,input,select,checkbox方法
2015/09/02 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
2017/05/17 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
redux-saga 初识和使用
2018/03/10 Javascript
微信小程序 MinUI组件库系列之badge徽章组件示例
2018/08/20 Javascript
JS实现的合并两个有序链表算法示例
2019/02/25 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
详解搭建一个vue-cli的移动端H5开发模板
2020/01/17 Javascript
python二叉树遍历的实现方法
2013/11/21 Python
教你如何在Django 1.6中正确使用 Signal
2014/06/22 Python
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
python简单区块链模拟详解
2019/07/03 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
python装饰器使用实例详解
2019/12/14 Python
基于Python绘制个人足迹地图
2020/06/01 Python
阿迪达斯奥地利官方商城:adidas.at
2016/10/16 全球购物
单身旅行者的单身假期:Just You
2018/04/08 全球购物
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
俄罗斯在线手表和珠宝商店:AllTime
2019/09/28 全球购物
企业演讲比赛主持词
2014/03/18 职场文书
2014年自愿离婚协议书
2014/10/10 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
先进个人评语大全
2015/01/04 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
2016廉洁从业学习心得体会
2016/01/19 职场文书
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
2021/04/05 Python