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 相关文章推荐
JavaScript 事件冒泡简介及应用
Jan 11 Javascript
Javascript冒泡排序算法详解
Dec 03 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
Aug 29 Javascript
几句话带你理解JS中的this、闭包、原型链
Sep 26 Javascript
AngularJS Select(选择框)使用详解
Jan 18 Javascript
jQuery实现复选框的全选和反选
Feb 02 Javascript
详解vue数据渲染出现闪烁问题
Jun 29 Javascript
JS随机数产生代码分享
Feb 24 Javascript
搭建基于express框架运行环境的方法步骤
Nov 15 Javascript
Vue实现点击显示不同图片的效果
Aug 10 Javascript
vue 在methods中调用mounted的实现操作
Aug 07 Javascript
Vue中Object.assign清空数据报错的解决方案
Mar 03 Vue.js
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
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
php封装的图片(缩略图)处理类完整实例
2016/10/19 PHP
php简单截取字符串代码示例
2016/10/19 PHP
PHP将字符串首字母大小写转换的实例
2017/01/21 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
一些不错的js函数ajax
2008/08/20 Javascript
用jquery实现的模拟QQ邮箱里的收件人选取及其他效果(一)
2011/01/06 Javascript
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
2013/12/16 Javascript
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
2015/09/17 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
使用Web Uploader实现多文件上传
2016/06/08 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
LayUI表格批量删除方法
2018/08/15 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
python 用正则表达式筛选文本信息的实例
2018/06/05 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
意大利时尚精品店:Nugnes 1920
2020/02/10 全球购物
财务副总经理工作职责
2013/11/25 职场文书
投标担保书范文
2014/04/02 职场文书
《北京的春节》教学反思
2014/04/07 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
优秀团员事迹材料1000字
2014/08/20 职场文书
车间质检员岗位职责
2015/04/08 职场文书
企业培训简报范文
2015/07/20 职场文书
CSS3实现的侧滑菜单
2021/04/27 HTML / CSS
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python