jqgrid 表格数据导出实例


Posted in Javascript onNovember 21, 2013

首先,是一段javascript脚本:

/** 
 *  
 *  
 * @param table_id 表格的id 
 * @param container_id 容器的id 
 * @param form_id 提交表单的id 
 * @param title 文件名 
 * @param rownumbers 
 */  
function getXlsFromTbl(table_id, container_id ,form_id, title, rownumbers) {  
    try {  
        var content = "";    
        if (table_id != null && table_id != "" && table_id != "null") {  
        <SPAN style="WHITE-SPACE: pre"> </SPAN>content = getTblData($('#' + table_id), $('#' + container_id), rownumbers);  
        }  
        if (content == "") {  
            alert("表格不存在");  
            return;  
        }  
        var fileName = getExcelFileName(title);  
        doFileExport($('#' + form_id), fileName, content);  
    }  
    catch (e) {  
        alert("导出异常:" + e.name + "->" + e.description + "!");  
    }  
}  
function getTblData(tableobj, containerobj, rownumbers) {  
  
    var outStr = "";  
    if (tableobj != null) {  
        var rowdata = tableobj.getRowData();  
        var Lenr = 1;  
  
        for (i = 0; i < Lenr; i++) {  
            //var Lenc = curTbl.rows(i).cells.length;   
            var th;  
            if (rownumbers == false) {  
                th = containerobj.find('TH:not(:first-child)');  
            }  
            else {  
                th = containerobj.find('TH');  
            }  
            th.each(function(index, element) {  
                var j = index + 1;  
                var content = $(element).text();  
                content = content.replace(/(^\s*)|(\s*$)/g, "");//去掉空格   
                outStr += content + ",";  
            });  
            outStr += "+nl+";  
        }  
        var tmp = "";  
        for (i = 0; i < rowdata.length; i++) {  
            var row = eval(rowdata[i]);  
            for (each in row) {  
            <SPAN style="WHITE-SPACE: pre">   </SPAN>var temp = $(row[each]).text();  
            <SPAN style="WHITE-SPACE: pre">   </SPAN>if($(row[each]).text() == null || $(row[each]).text() == ""){  
            <SPAN style="WHITE-SPACE: pre">       </SPAN>if(row[each].charAt(0) != '<')  
            <SPAN style="WHITE-SPACE: pre">           </SPAN>outStr += row[each] + ",";  
            <SPAN style="WHITE-SPACE: pre">       </SPAN>  
            <SPAN style="WHITE-SPACE: pre">   </SPAN>}  
            <SPAN style="WHITE-SPACE: pre">   </SPAN>else  
            <SPAN style="WHITE-SPACE: pre">       </SPAN>outStr += $(row[each]).text() + ",";  
            }  
            outStr += "+nl+";  
        }  
    }  
    else {  
        outStr = null;  
        alert(inTbl + " null!");  
    }  
    return outStr;  
}  
function getExcelFileName(title) {  
    var d = new Date();  
    var curYear = d.getYear();  
    var curMonth = "" + (d.getMonth() + 1);  
    var curDate = "" + d.getDate();  
    var curHour = "" + d.getHours();  
    var curMinute = "" + d.getMinutes();  
    var curSecond = "" + d.getSeconds();  
    if (curMonth.length == 1) {  
        curMonth = "0" + curMonth;  
    }  
    if (curDate.length == 1) {  
        curDate = "0" + curDate;  
    }  
    if (curHour.length == 1) {  
        curHour = "0" + curHour;  
    }  
    if (curMinute.length == 1) {  
        curMinute = "0" + curMinute;  
    }  
    if (curSecond.length == 1) {  
        curSecond = "0" + curSecond;  
    }  
    var fileName = title + "_" + curYear + curMonth + curDate + "_"  
            + curHour + curMinute + curSecond + ".csv";  
  
    return fileName;  
}  
function doFileExport(formobj, filename, content) {  
<SPAN style="WHITE-SPACE: pre"> </SPAN>formobj.html("<input id='filename' name='filename' type='text' style='display: none'><input id='content' name='content' type='text' style='display: none'>");  
    $("#filename").val(filename);  
    $("#content").val(content);  
    formobj.submit();  
}  

接着是页面调用的javascript:

<form id="download_form" method="post"  target="_blank" action="downLoadTableDataAction"> 
<div id="table_container">  
<SPAN style="WHITE-SPACE: pre"> </SPAN><table id="keyword_detail"></table>  
<SPAN style="WHITE-SPACE: pre"> </SPAN><div id="footer"></div>  
</div> 
//下载   
$('#download_file').click(function() {  
    getXlsFromTbl('keyword_detail', 'table_container' ,'download_form', '关键词详细数据', true)  
}); 
Javascript 相关文章推荐
Mootools 1.2教程 定时器和哈希简介
Sep 15 Javascript
js实现网站首页图片滚动显示
Feb 04 Javascript
js判断鼠标同时离开两个div的思路及代码
May 31 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
Oct 17 Javascript
node.js中的fs.lchownSync方法使用说明
Dec 16 Javascript
JavaScript 中 avalon绑定属性总结
Oct 19 Javascript
浅谈js算法和流程控制
Dec 29 Javascript
angularjs $http实现form表单提交示例
Jun 09 Javascript
vue better scroll 无法滚动的解决方法
Jun 07 Javascript
JS实现监控微信小程序的原理
Jun 15 Javascript
React+Redux实现简单的待办事项列表ToDoList
Sep 29 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
Oct 29 Javascript
js 实现菜单左右滚动显示示例介绍
Nov 21 #Javascript
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
Nov 21 #Javascript
JQuery的ready函数与JS的onload的区别详解
Nov 21 #Javascript
js 实现菜单上下显示附效果图
Nov 21 #Javascript
javascript 数组排序函数sort和reverse使用介绍
Nov 21 #Javascript
js拖动div 当鼠标移动时整个div也相应的移动
Nov 21 #Javascript
js获取对象为null的解决方法
Nov 21 #Javascript
You might like
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
浅析PHP递归函数返回值使用方法
2013/02/18 PHP
php中ob函数缓冲机制深入理解
2015/08/03 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
thinkPHP5使用Rabc实现权限管理
2019/08/28 PHP
js滚动条多种样式,推荐
2007/02/05 Javascript
javascript中的作用域scope介绍
2010/12/28 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
jquery实现商品拖动选择效果代码(自写)
2013/05/28 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
js滑动提示效果代码分享
2016/03/10 Javascript
js实现div模拟模态对话框展现URL内容
2016/05/27 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
2017/02/22 Javascript
微信小程序与php 实现微信支付的简单实例
2017/06/23 Javascript
Javascript(es2016) import和require用法和区别详解
2017/08/11 Javascript
Vue.js更改调试地址端口号的实例
2018/09/19 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
[59:53]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第二场 3月6日
2021/03/11 DOTA
win8.1安装Python 2.7版环境图文详解
2019/07/01 Python
pyqt5、qtdesigner安装和环境设置教程
2019/09/25 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
2019/10/18 Python
python爬虫中抓取指数的实例讲解
2020/12/01 Python
Skip Hop官网:好莱坞宝宝挚爱品牌
2018/06/17 全球购物
关于迟到的检讨书
2014/01/26 职场文书
征婚广告词
2014/03/17 职场文书
《地震中的父与子》教学反思
2014/04/10 职场文书
社团活动总结报告
2014/06/27 职场文书
先进员工获奖感言
2014/08/14 职场文书
2014乡党委副书记党建工作汇报材料
2014/11/02 职场文书
简历自我评价优缺点
2015/03/11 职场文书
民间借贷借条范本
2015/05/25 职场文书
导游词之扬州大明寺
2019/10/09 职场文书
Mysql 如何批量插入数据
2021/04/06 MySQL