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生成静态页面详解
Dec 05 PHP
开发大型 PHP 项目的方法
Jan 02 PHP
用PHP读取RSS feed的代码
Aug 01 PHP
PHP Undefined index报错的修复方法
Jul 17 PHP
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
Sep 28 PHP
PHP内核探索:变量存储与类型使用说明
Jan 30 PHP
Yii 快速,安全,专业的PHP框架
Sep 03 PHP
浅谈ThinkPHP的URL重写
Nov 25 PHP
Windows下编译PHP5.4和xdebug全记录
Apr 03 PHP
php封装的验证码类分享
Feb 26 PHP
PHP中file_put_contents追加和换行的实现方法
Apr 01 PHP
THINKPHP在添加数据的时候获取主键id的值方法
Apr 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 读取Postgresql中的数组
2013/04/14 PHP
解析PHP多种序列化与反序列化的方法
2013/06/06 PHP
PHP转盘抽奖接口实例
2015/02/09 PHP
监控 url fragment变化的js代码
2010/04/19 Javascript
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
jQuery ui插件的使用方法代码实例
2013/05/08 Javascript
JS通过相同的name进行表格求和代码
2013/08/18 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
2014/02/11 Javascript
javascript中对Date类型的常用操作小结
2016/05/19 Javascript
vue.js指令v-model使用方法
2017/03/20 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
2017/04/11 jQuery
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
2018/04/17 jQuery
vue中的数据绑定原理的实现
2018/07/02 Javascript
vue实现多条件和模糊搜索功能
2019/05/28 Javascript
vue 实现websocket发送消息并实时接收消息
2019/12/09 Javascript
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
pycharm设置注释颜色的方法
2018/05/23 Python
搭建python django虚拟环境完整步骤详解
2019/07/08 Python
Python文件操作方法详解
2020/02/09 Python
python数据处理——对pandas进行数据变频或插值实例
2020/04/22 Python
python如何使用腾讯云发送短信
2020/09/17 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
django中cookiecutter的使用教程
2020/12/03 Python
编写html5时调试发现脚本php等网页js、css等失效
2013/12/31 HTML / CSS
Nike台湾官方商店:Nike.com (TW)
2017/08/16 全球购物
PatPat德国:妈妈的每日优惠
2019/10/02 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
高中校园广播稿3篇
2014/09/29 职场文书
安全生产月宣传标语
2014/10/06 职场文书
上甘岭观后感
2015/06/10 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书
Innodb存储引擎中的后台线程详解
2022/04/03 MySQL
如何通过简单的代码描述Angular父组件、子组件传值
2022/04/07 Javascript