首页  >  文章  >  后端开发  >  Dwz与thinkphp整合下的数据导出到Excel实例_php实例

Dwz与thinkphp整合下的数据导出到Excel实例_php实例

WBOY
WBOY原创
2016-06-07 17:14:55675浏览

本文实例讲述了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程序设计有所帮助。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn