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 23 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
Apr 07 PHP
php中分页及SqlHelper类用法实例
Jan 12 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
PHP设计模式之状态模式定义与用法详解
Apr 02 PHP
php如何利用pecl安装mongodb扩展详解
Jan 09 PHP
PHP数组遍历的几种常见方式总结
Feb 15 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 PHP
php post换行的方法
Feb 03 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
Dec 10 PHP
阿里云服务器搭建Php+Apache运行环境的详细过程
May 15 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
PHP5新特性: 更加面向对象化的PHP
2006/11/18 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
2011/07/03 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
2007/10/23 Javascript
Js从头学起(基本数据类型和引用类型的参数传递详细分析)
2012/02/16 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
2015/10/29 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
2016/01/28 Javascript
javascript实现数字倒计时特效
2016/03/30 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
CSS3+JavaScript实现翻页幻灯片效果
2017/06/28 Javascript
Node.Js中实现端口重用原理详解
2018/05/03 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
layui form表单提交后实现自动刷新
2019/10/25 Javascript
Element Input输入框的使用方法
2020/07/26 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
python的三目运算符和not in运算符使用示例
2014/03/03 Python
在Python操作时间和日期之asctime()方法的使用
2015/05/22 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
详解Python 调用C# dll库最简方法
2019/06/20 Python
django解决订单并发问题【推荐】
2019/07/31 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
使用python求解二次规划的问题
2020/02/29 Python
python实现ping命令小程序
2020/12/28 Python
Sixt美国租车:高端豪华车型自驾体验
2017/09/02 全球购物
波兰最大的儿童服装连锁店之一:5.10.15.
2018/02/11 全球购物
幼师专业求职推荐信
2013/11/08 职场文书
银行财务部实习生的自我鉴定
2013/11/27 职场文书
酒店人事专员岗位职责
2013/12/19 职场文书
个人委托书范本
2014/04/02 职场文书
法律顾问服务方案
2014/05/15 职场文书
2014年小学班主任工作总结
2014/11/08 职场文书
2014企业年终工作总结
2014/12/23 职场文书
HTTP中的Content-type详解
2022/01/18 HTML / CSS