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 取得瑞年与平年的天数的代码
Aug 10 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 PHP
php强制下载类型的实现代码
Apr 21 PHP
PHP基础陷阱题(变量赋值)
Sep 12 PHP
一个好用的PHP验证码类实例分享
Dec 27 PHP
php实现按照权重随机排序数据的方法
Jan 09 PHP
正确的PHP匹配UTF-8中文的正则表达式
May 13 PHP
php结合md5实现的加密解密方法
Jan 25 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
Mar 10 PHP
PHP5.2中PDO的简单使用方法
Mar 25 PHP
yii框架使用分页的方法分析
Jul 25 PHP
laravel框架之数据库查出来的对象实现转化为数组
Oct 23 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下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
2011/06/09 PHP
PHP读取网页文件内容的实现代码(fopen,curl等)
2011/06/23 PHP
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
php接口技术实例详解
2016/12/07 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
Extjs学习笔记之九 数据模型(上)
2010/01/11 Javascript
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
最新的10款jQuery内容滑块插件分享
2011/09/18 Javascript
jQuery(非HTML5)可编辑表格实现代码
2012/12/11 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
详解ECMAScript6入门--Class对象
2017/04/27 Javascript
js实现移动端轮播图效果
2020/12/09 Javascript
vue-router 路由基础的详解
2017/10/17 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
使用ESLint禁止项目导入特定模块的方法步骤
2019/03/04 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
2019/08/26 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
vue实现滚动鼠标滚轮切换页面
2020/12/13 Vue.js
Vue基本指令实例图文讲解
2021/02/25 Vue.js
mac系统安装Python3初体验
2018/01/02 Python
对python指数、幂数拟合curve_fit详解
2018/12/29 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
2020/03/04 Python
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
C#面试常见问题
2013/02/25 面试题
食品行业求职人的自我评价
2014/01/19 职场文书
村抢险救灾方案
2014/05/09 职场文书
标准版离职证明书
2014/09/12 职场文书
同步小康驻村工作简报
2015/07/20 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
go语言求任意类型切片的长度操作
2021/04/26 Golang