Dwz与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程序设计有所帮助。

(0)

相关推荐

  • ThinkPHP与PHPExcel冲突解决方法

    很早之前就知道有一个叫做PHPExcel的类(官方网站)可以用来操作Excel,一直没有机会尝试,今天试用发现无比强大,下载后的源码包里有详细文档,几乎能实现手工操作Excel能实现的一切功能. 一个简单的读取Excel的例子如下: 复制代码 代码如下: $inputFileType = 'Excel2007'; $inputFileName = './public/files/import_user_template.xlsx'; $sheetname = 'Sheet1'; //指定Exce

  • 基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据

    废话不多说,直接给大家贴代码了,代码附有注释,相信大家都能看懂的,有不明白的地方欢迎给我留言. 前端HTML+JQuery  备注Jquery需要1.x版本,不能用2.x版本 1.引入必要文件及上传input <load file="__PUBLIC__/js/jquery-1.11.3.min.js" /> <load file="__PUBLIC__/uploadify/jquery.uploadify.min.js" /> <lo

  • thinkPHP实现将excel导入到数据库中的方法

    本文实例讲述了thinkPHP实现将excel导入到数据库中的方法.分享给大家供大家参考,具体如下: PHPExcel插件可点击此处本站下载. 这里使用的是thinkphp框架的3.1版本,下载好压缩包,框架中的extend中的vendor文件夹中新建一个名为PHPExcel的文件夹,把classes里面的内容放到里面 下面是前端页面 提示:我在测试的时候遇到报错exception 'PHPExcel_Reader_Exception' with message 'The filename 原因

  • thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)

    本文实例讲述了thinkPHP+PHPExcel实现读取文件日期的方法.分享给大家供大家参考,具体如下: 我们使用PHPExcel读取excel文件后发现,时间都是类似于这样的数字:41890.620138889,那么如何将它处理成我们想要的2014-09-08 14:53:00这样格式的日期呢,看代码: Vendor('PHPExcel.PHPExcel.IOFactory'); $inputFileName = 'Public/demo/demo.xls'; $objReader = new

  • ThinkPHP中调用PHPExcel的实现代码

    核心代码: //引入PHPExcel vendor('PHPExcel.PHPExcel'); // Create new PHPExcel object $objPHPExcel = new PHPExcel(); //设置文档属性 $objPHPExcel->getProperties() ->setCreator("web100.cc") ->setLastModifiedBy("web100.cc") ->setTitle("

  • ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例

    本文所述实例是使用在Thinkphp的开发框架上,要是使用在其他框架也是同样的方法,很多人可能不能正确的实现Excel的导入导出,问题基本上都是phpExcel的核心类引用路径出错造成的,如果有问题大家务必要对路劲是否引用正确进行测试. 具体操作步骤如下: (一)导入Excel 第一,在前台html页面进行上传文件:如: <form method="post" action="php文件" enctype="multipart/form-data&q

  • thinkPHP+phpexcel实现excel报表输出功能示例

    本文实例讲述了thinkPHP+phpexcel实现excel报表输出功能.分享给大家供大家参考,具体如下: 准备工作: 1.下载phpexcel1.7.6类包: 2.解压至TP框架的ThinkPHP\Vendor目录下,改类包文件夹名为PHPExcel176,目录结构如下图: 编写代码(以一个订单汇总数据为例): 1. 创建数据库及表;   2. 创建tp项目,配置项目的数据库连接,这些基本的就不说了:   3. 在项目的Lib\Action下创建一个新的类文件ExportStatistics

  • thinkphp3.2中实现phpexcel导出带生成图片示例

    首先下载PHPEXCEL  下载地址:http://phpexcel.codeplex.com/        https://github.com/PHPOffice/PHPExcel 把Classes目录下的文件(PHPExcel.php和PHPExcel文件夹),放到ThinkPHP\Library\Org\Util目录下 PHPExcel.php  改名为 :PHPExcel.class.php // 导出exl public function look_down(){ $id = I(

  • ThinkPHP基于PHPExcel导入Excel文件的方法

    本文实例讲述了ThinkPHP基于PHPExcel导入Excel文件的方法.分享给大家供大家参考.具体方法如下: 主要知识点,用PHPExcel导入Excel数据经过这几天测试还是可以,xls,xlsx都可以获取Excel的数据. 下载地址:http://phpexcel.codeplex.com/ 开发思路: 1.先把Excel文件上传到服务器 2.获取服务器Excel文件内容 3.写入数据库 一.上传Excel文件,使用PHP里自带的上传方法 "\Think\Upload();",

  • thinkPHP导出csv文件及用表格输出excel的方法

    本文实例讲述了thinkPHP导出csv文件及用表格输出excel的方法.分享给大家供大家参考,具体如下: 1.thinkphp导出csv文件 导出csv文件可能就那几行代码,今天有个问题困扰我好久,就是导出之后出现一些html代码,这个不应该,view里面是空的,controller中最后也没有$this->display(),最后细心看到think_page_trace这样的字样,恍然大悟,是页面的跟踪日志,这个默认是会输出来的.最后在方法后面加了一个exit结束就好了,下面是代码: 1.I

随机推荐