jqgrid 表格数据导出实例_javascript技巧

首先,是一段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) 
}); 

时间: 2024-09-09 17:16:41

jqgrid 表格数据导出实例_javascript技巧的相关文章

JS实现动态生成表格并提交表格数据向后端_javascript技巧

本文实例介绍了JS实现动态生成表格并向后端提交表格数据的相关代码,分享给大家供大家参考,具体内容如下 先来看一下需求:在web页面上动态的生成表格,并可以对表格中的数据进行编辑,然后把表格中的数据提交至后端服务器保存. 那么我们首先需要解决的是动态生成表格的问题 1.首先我们需要导入JS库文件. <script src="../js/jqui/jquery/jquery-1.5.2.min.js" type="text/javascript"></

有木有好用的把jqgrid表格数据导出为excel文件的插件

问题描述 就是点击导出excel 然后出现一个下载excel表的页面 .好像poi好用 但是找不到使用的实例啊 解决方案 自定义一个按钮,然后点击按钮就后台做导出excel功能.//自定义按钮导出jQuery("#gridTable").navGrid("#gridPager",{edit: true,add: true,del: true,search:false,position:"right"}).navButtonAdd("#g

使用javascript访问XML数据的实例_javascript技巧

在网络浏览器软件中,可以Internet Explorer (IE)现在是一种标准的软件.可以看到,运行不同版本的Windows操作系统(和很多其他的操作系统)的每一台机器几乎都使用IE.微软已经通过ActiveX控件将IE的功能包含在执行成熟的XML处理技术中. 在本篇文章中,我们将讲述如何在IE中使用ActiveX功能来访问并解析XML文档,由此允许网络冲浪者操纵它们. 网上冲浪 我们以一个标准的顺序文档而开始,如表A所示.这一文档包含简单的顺序数据以提供网络冲浪者浏览之用.不仅仅为了显示这

JS实现table表格数据排序功能(可支持动态数据+分页效果)_javascript技巧

asp.net会经常遇到分页的效果,尤其是希望实现静态的html分页排序(html分页相信大家都已经有自己的解决方案.在这里就不多说).我写了一个简单的Demo排序. 数据就是字母和数字两组.(汉字需要找到asc码) 原理就是利用数组自带的sort排序,进行表格重组.已在.net mvc 中测试过.支持分页.(申明一点.只对当前页面数据排序 无刷新,对所有页面排序的话,肯定需要刷新.这点我还在解决中.)希望有新想法的高手们,给下指点. 下面把html的代码贴出来: <!DOCTYPE HTML

JavaScript AOP编程实例_javascript技巧

本文实例讲述了JavaScript AOP编程.分享给大家供大家参考.具体如下: /* // aop({options}); // By: adamchow2326@yahoo.com.au // Version: 1.0 // Simple aspect oriented programming module // support Aspect before, after and around // usage: aop({ context: myObject, // scope contex

javascript多种数据类型表格排序代码分析_javascript技巧

中文汉字排序. 中英文混合排序. 数据大小排序. 文件类型排序(后缀名排序) 日期时间排序. 价格排序. 中文混合数字排序; 使用方法:文档载入后new tableListSort(arguments,arguments). 接受两个参数:第一个参数为必须的,可以是字符串ID,也可以是table对象;第二个可选参数,此参数为一个对象,{data:index,fileType:index,fn:function(){}}:对象有三个可选的属性,第一个和第二个为扩展排序的数据类型,第三个参数为排序后

JavaScript之AOP编程实例_javascript技巧

本文实例讲述了JavaScript之AOP编程.分享给大家供大家参考.具体如下: /* // aop({options}); // By: adamchow2326@yahoo.com.au // Version: 1.0 // Simple aspect oriented programming module // support Aspect before, after and around // usage: aop({ context: myObject, // scope contex

JS学习之表格的排序简单实例_javascript技巧

JS学习之表格的排序简单实例 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <input id="btn1" type="button" value="排序"> <table id="

js方法数据验证的简单实例_javascript技巧

实例如下: //input标签只能正数字 <input onkeyup="this.value=this.value.replace(/[^1-9]/g,'')" > //只能输入正整数 function CheckNum(thisobj) { if (thisobj.value == "0") { } else { var firstNum = thisobj.value.toString().substring(0, 1); if (thisobj.