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 相关文章推荐
BBS(php & mysql)完整版(一)
Oct 09 PHP
linux系统下php安装mbstring扩展的二种方法
Jan 20 PHP
php实现快速排序的三种方法分享
Mar 12 PHP
php的SimpleXML方法读写XML接口文件实例解析
Jun 16 PHP
PHP的拦截器实例分析
Nov 03 PHP
PHP实现获取某个月份周次信息的方法
Aug 11 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
Oct 16 PHP
PHP编写RESTful接口
Feb 23 PHP
php 中的closure用法详解
Jun 12 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
Dec 11 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 PHP
PHP正则表达式之RCEService回溯
Apr 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
乐信RP2100的电路分析和打磨
2021/03/02 无线电
Ubuntu中搭建Nginx、PHP环境最简单的方法
2015/03/05 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
2016/02/15 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
浅谈javascript 面向对象编程
2009/10/28 Javascript
JavaScript var声明变量背后的原理示例解析
2013/10/12 Javascript
iScroll中事件点击触发两次解决方案
2015/03/11 Javascript
jQuery关键词说明插件cluetip使用指南
2015/04/21 Javascript
深入理解JavaScript中的箭头函数
2015/07/28 Javascript
表单验证正则表达式实例代码详解
2015/11/09 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
Javascript的比较汇总
2016/07/25 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
js基本算法:冒泡排序,二分查找的简单实例
2016/10/08 Javascript
ES6新特性之解构、参数、模块和记号用法示例
2017/04/01 Javascript
css和js实现弹出登录居中界面完整代码
2017/11/26 Javascript
详解ECMAScript typeof用法
2018/07/25 Javascript
layerUI下的绑定事件实例代码
2018/08/17 Javascript
python类的继承实例详解
2017/03/30 Python
详解appium+python 启动一个app步骤
2017/12/20 Python
Django实现一对多表模型的跨表查询方法
2018/12/18 Python
Python下简易的单例模式详解
2019/04/08 Python
PyQt5显示GIF图片的方法
2019/06/17 Python
python接口自动化如何封装获取常量的类
2019/12/24 Python
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
史蒂夫·马登加拿大官网:Steve Madden加拿大
2017/11/18 全球购物
墨尔本照明批发商店:Mica Lighting
2017/12/28 全球购物
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
管道维修工岗位职责
2013/12/27 职场文书
师范生见习报告范文
2014/11/03 职场文书
稽核岗位职责范本
2015/04/13 职场文书
获奖感言怎么写
2015/07/31 职场文书
tp5使用layui实现多个图片上传(带附件选择)的方法实例
2021/11/17 PHP
vue 给数组添加新对象并赋值
2022/04/20 Vue.js