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 相关文章推荐
session 的生命周期是多长
Oct 09 PHP
定制404错误页面,并发信给管理员的程序
Oct 09 PHP
PHP 时间日期操作实战
Aug 26 PHP
表格展示无限级分类(PHP版)
Aug 21 PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
Sep 23 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
Sep 06 PHP
php两种无限分类方法实例
Apr 21 PHP
修复ShopNC使用QQ 互联时提示100010 错误
Nov 08 PHP
php编程中echo用逗号和用点号连接的区别
Mar 26 PHP
PHP微信公众号自动发送红包API
Jun 01 PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 PHP
PHP addAttribute()函数讲解
Feb 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
php 获取远程网页内容的函数
2009/09/08 PHP
PHP实现 APP端微信支付功能
2018/06/22 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
2019/04/30 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
IE事件对象(The Internet Explorer Event Object)
2012/06/27 Javascript
Javascript实现可旋转的圆圈实例代码
2015/08/04 Javascript
JS 日期与时间戮相互转化的简单实例
2016/06/22 Javascript
使用Ajax与服务器(JSON)通信实例
2016/11/04 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
js实现手机web图片左右滑动效果
2017/12/29 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
2018/02/27 Javascript
Vuex入门到上手教程
2018/06/20 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
详解几十行代码实现一个vue的状态管理
2019/01/28 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
js实现录音上传功能
2019/11/22 Javascript
[02:33]2018 DOTA2亚洲邀请赛回顾视频 再次拾起那些美妙的时刻
2018/04/10 DOTA
Python中的面向对象编程详解(下)
2015/04/13 Python
python 文件操作api(文件操作函数)
2016/08/28 Python
Python队列的定义与使用方法示例
2017/06/24 Python
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
Django实现支付宝付款和微信支付的示例代码
2018/07/25 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
Python学习笔记之字符串和字符串方法实例详解
2019/08/22 Python
简单了解Python字典copy与赋值的区别
2020/09/16 Python
关于h5中的fetch方法解读(小结)
2017/11/15 HTML / CSS
毕业生幼师求职自荐信
2013/10/01 职场文书
学生会竞选演讲稿
2014/04/24 职场文书
网聊搭讪开场白
2015/05/28 职场文书
关于Python中进度条的六个实用技巧分享
2022/04/05 Python
mysql如何查询连续记录
2022/05/11 MySQL