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 相关文章推荐
Windows下XDebug 手工配置与使用说明
Jul 11 PHP
php eval函数用法 PHP中eval()函数小技巧
Oct 31 PHP
php并发对MYSQL造成压力的解决方法
Feb 21 PHP
php switch语句多个值匹配同一代码块的实现
Mar 03 PHP
php单例模式示例分享
Feb 12 PHP
PHP实现过滤掉非汉字字符只保留中文字符
Jun 04 PHP
微信支付开发维权通知实例
Jul 12 PHP
Yii2创建多界面主题(Theme)的方法
Oct 08 PHP
PHP实现上传多图即时显示与即时删除的方法
May 09 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
详解php curl带有csrf-token验证模拟提交方法
Apr 18 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
May 11 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使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
mysqli扩展无法在PHP7下升级问题的解决
2019/09/10 PHP
锋利的jQuery 第三章章节总结的例子
2010/03/23 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
Extjs优化(一)删除冗余代码提高运行速度
2013/04/15 Javascript
主页面中的两个iframe实现鼠标拖动改变其大小
2013/04/16 Javascript
深入理解javascript原型链和继承
2014/09/23 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
基于JavaScript如何制作遮罩层对话框
2016/01/26 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
2016/08/23 Javascript
JavaScript日期选择功能示例
2017/01/16 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
2017/02/14 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
JavaScript禁用右键单击优缺点分析
2019/01/20 Javascript
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
通过实例解析JavaScript常用排序算法
2020/09/02 Javascript
编写Python脚本批量下载DesktopNexus壁纸的教程
2015/05/06 Python
基于python时间处理方法(详解)
2017/08/14 Python
Linux上使用Python统计每天的键盘输入次数
2019/04/17 Python
详解如何减少python内存的消耗
2019/08/09 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
2020/03/06 Python
pyqt5中动画的使用详解
2020/04/01 Python
浅析python 通⽤爬⾍和聚焦爬⾍
2020/09/28 Python
使用Python获取爱奇艺电视剧弹幕数据的示例代码
2021/01/12 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
Myholidays美国:在线旅游网站
2019/08/16 全球购物
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
英国在线玫瑰专家:InterRose
2019/12/01 全球购物
行政专员岗位职责
2014/01/02 职场文书
新年主持词
2014/03/27 职场文书
党员志愿者活动方案
2014/08/28 职场文书
廉政教育的心得体会
2014/09/01 职场文书
2015毕业生简历自我评价
2015/03/02 职场文书
MySQL去除密码登录告警的方法
2022/04/20 MySQL
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python