您好,欢迎访问一九零五行业门户网

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

这篇文章主要介绍了dwz与thinkphp整合下的数据导出到excel的方法,是结合jquery与thinkphp框架实现的导出excel技巧,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了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程序设计有所帮助。
其它类似信息

推荐信息