当前位置:首页 > CMS教程 > Thinkphp > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-02 20:56:19 浏览: 评论:0 

这篇文章主要介绍了Dwz与thinkphp整合下的数据导出到Excel的方法,是结合jQuery与ThinkPHP框架实现的导出Excel技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了Dwz与thinkphp整合下的数据导出到Excel的方法。分享给大家供大家参考。具体方法如下:

这个问题困扰了我很久,终于还是自己写JQUERY把它搞掂了,希望能对遇到同样问题的人有所帮助,好吧,下面就是源代码:

jquery代码如下:

  1. $(function(){  
  2.  
  3.         //_getIds方法就是获取已选的要导出的数据的ID,设了两个参数selectedIds--已选id的input名称,targetType-->碎片模式,默认是navTab,如果是dialog的自行修改  
  4. function _getIds(selectedIds,targetType){  
  5.         var ids="";  
  6.         var $box=targetType=="dialog"?$.pdialog.getCurrent():navTab.getCurrentPanel();  
  7.         $box.find("input:checked").filter("[name='"+selectedIds+"']").each(function(i){  
  8.  
  9.             var val=$(this).val();  
  10.             ids+=i==0?val:","+val;});  
  11.             return ids;  
  12.         }  
  13.         //导出excel的按钮 class=iconn,click时触发  
  14. $(".iconn").click(  
  15. function(){  
  16. //因为这个方法直运用到导出到excel 所以这里所需的参数变量我直接写死了  
  17. var targetType="navTab";  
  18. var selectedIds="ids";  
  19. var postType="string";//批量选择的话,以文本的形式获取  
  20. var ids=_getIds(selectedIds,targetType);  
  21. if(!ids){  
  22. alertMsg.error($(".iconn").attr("warn"));  
  23. return false;  
  24. //alert("请选择要导出的数据!");  
  25. }else{  
  26. //将获取到的ids 传给后台处理  
  27. window.open("__URL__/memberExport/ids/"+ids);  
  28. }  
  29.  
  30. });  
  31. }); 

PHP代码如下:

  1. //member成员信息导出到excel  
  2. public function memberExport(){  
  3.     $id=$_REQUEST['ids'];//获取已选数据的ID  
  4.     //echo $id;  
  5.  
  6. //在这里导出到excel我没有用到phpexcel,是自己写的,很简单,相信大家都明白是什么意思,根据自己需要自行修改就行了  
  7.     $filename=date('Y-m-d');  
  8.     header("Pragma:public");  
  9. header("Expires:0");  
  10. header("Cache-Control:must-revalidate,post-check=0,pre-check=0");  
  11. header("Content-Type:application/force-download");  
  12. header("Content-Type:application/vnd.ms-execl;charset=gb2312");  
  13. header("Content-Type:application/octet-stream");  
  14. header("Content-Type:application/download");  
  15. header('Content-Disposition:attachment;filename="'.$filename.'.xls"');  
  16. header("Content-Transfer-Encoding:binary");  
  17. if(!$id){  
  18. $this->error('非法操作!');  
  19. }else{  
  20.  
  21. $map['id']=array('in',$id);  
  22. $title="用户名\t 姓名\t 部门\t 职务\t 身份证\t 职称\t 学历\t 毕业时间\t 录用时间";  
  23. $title=iconv('utf-8','gbk',$title);  
  24. echo $title;  
  25. set_time_limit(0);  
  26.    $offset= 0;  
  27.    $length=100;  
  28. $Member = M('Member');  
  29. $list=$Member->where($map)->order('id desc')->select();  
  30. if(!$list){  
  31. $this->error('操作错误!');  
  32. }else{  
  33. foreach($list as $key=>$row){  
  34. echo "\n";  
  35. echo iconv('utf-8','gbk',$row['username'])."\t";  
  36. echo iconv('utf-8','gbk',$row['name'])."\t";  
  37. echo iconv('utf-8','gbk',$row['department'])."\t";  
  38. echo iconv('utf-8','gbk',$row['zhiwu'])."\t";  
  39. echo iconv('utf-8','gbk',$row['sfz'])."\t";  
  40. echo iconv('utf-8','gbk',$row['zhicheng'])."\t";  
  41. echo iconv('utf-8','gbk',$row['xueli'])."\t";  
  42. echo iconv('utf-8','gbk',$row['bytime'])."\t";  
  43. echo iconv('utf-8','gbk',$row['lytime'])."\t";  
  44.  
  45. }  
  46. $offset+=$length;  
  47. }  
  48. }  

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

Tags: Dwz thinkphp整合 Excel

分享到: