jqGrid数据导出

jquery导出jqgrid表格 之前网上没找到现成的jqgrid表格前台导出插件,都或多或少带后台,也不想换表格插件,所以参照extjs自己改了个前台导出插件,支持多表头和分组table带表头导出,引用方法文件有详细注释,直接能用,如有不足还请见谅。 立即下载

原文:http://blog.youkuaiyun.com/xiao_jun_0820/article/details/6622210


言归正传,说说jqGrid数据导出的实现,我也纳闷,JQGRID这么复杂的TABLE都做出来了,为啥就不能给我们这些懒人实现一个导出数据的方法呢,百度狗狗了很久都没找到,只能自己写了。下面就吧我写的JS共享出来

[javascript]  view plain copy
  1. function getXlsFromTbl(inTblId, inTblContainerId, title, rownumbers) {  
  2.     try {  
  3.         var allStr = "";  
  4.         var curStr = "";  
  5.         //alert("getXlsFromTbl");  
  6.         if (inTblId != null && inTblId != "" && inTblId != "null") {  
  7.             curStr = getTblData($('#' + inTblId), $('#' + inTblContainerId), rownumbers);  
  8.         }  
  9.         if (curStr != null) {  
  10.             allStr += curStr;  
  11.         }  
  12.         else {  
  13.             alert("你要导出的表不存在!");  
  14.             return;  
  15.         }  
  16.         var fileName = getExcelFileName(title);  
  17.         doFileExport(fileName, allStr);  
  18.     }  
  19.     catch (e) {  
  20.         alert("导出发生异常:" + e.name + "->" + e.description + "!");  
  21.     }  
  22. }  
  23. function getTblData(curTbl, curTblContainer, rownumbers) {  
  24.   
  25.     var outStr = "";  
  26.     if (curTbl != null) {  
  27.         var rowdata = curTbl.getRowData();  
  28.         var Lenr = 1;  
  29.   
  30.         for (i = 0; i < Lenr; i++) {  
  31.             //var Lenc = curTbl.rows(i).cells.length;  
  32.             var th;  
  33.             if (rownumbers == true) {  
  34.                 th = curTblContainer.find('TH:not(:first-child)');  
  35.             }  
  36.             else {  
  37.                 th = curTblContainer.find('TH');  
  38.             }  
  39.             th.each(function(index, element) {  
  40.                 //alert($(element).text());  
  41.                 //取得每行的列数  
  42.                 var j = index + 1;  
  43.                 var content = $(element).text();  
  44.                 //alert(j + "|" + content);  
  45.                 outStr += content + "\t";  
  46.                 //赋值  
  47.   
  48.             });  
  49.             outStr += "\r\n";  
  50.         }  
  51.         var tmp = "";  
  52.         for (i = 0; i < rowdata.length; i++) {  
  53.             var row = eval(rowdata[i]);  
  54.             for (each in row) {  
  55.                 outStr += row[each] + "\t";  
  56.             }  
  57.             outStr += "\r\n";  
  58.         }  
  59.   
  60.   
  61.     }  
  62.     else {  
  63.         outStr = null;  
  64.         alert(inTbl + "不存在!");  
  65.     }  
  66.     return outStr;  
  67. }  
  68. function getExcelFileName(title) {  
  69.     var d = new Date();  
  70.     var curYear = d.getYear();  
  71.     var curMonth = "" + (d.getMonth() + 1);  
  72.     var curDate = "" + d.getDate();  
  73.     var curHour = "" + d.getHours();  
  74.     var curMinute = "" + d.getMinutes();  
  75.     var curSecond = "" + d.getSeconds();  
  76.     if (curMonth.length == 1) {  
  77.         curMonth = "0" + curMonth;  
  78.     }  
  79.     if (curDate.length == 1) {  
  80.         curDate = "0" + curDate;  
  81.     }  
  82.     if (curHour.length == 1) {  
  83.         curHour = "0" + curHour;  
  84.     }  
  85.     if (curMinute.length == 1) {  
  86.         curMinute = "0" + curMinute;  
  87.     }  
  88.     if (curSecond.length == 1) {  
  89.         curSecond = "0" + curSecond;  
  90.     }  
  91.     var fileName = title + "_" + curYear + curMonth + curDate + "_"  
  92.             + curHour + curMinute + curSecond + ".csv";  
  93.     //alert(fileName);   
  94.     return fileName;  
  95. }  
  96. function doFileExport(inName, inStr) {  
  97.     var xlsWin = null;  
  98.     if (!!document.all("HideFrm")) {  
  99.         xlsWin = HideFrm;  
  100.     }  
  101.     else {  
  102.         var width = 6;  
  103.         var height = 4;  
  104.         var openPara = "left=" + (window.screen.width / 2 - width / 2)  
  105.                 + ",top=" + (window.screen.height / 2 - height / 2)  
  106.                 + ",scrollbars=no,width=" + width + ",height=" + height;  
  107.         xlsWin = window.open("", "_blank", openPara);  
  108.     }  
  109.     xlsWin.document.write(inStr);  
  110.     xlsWin.document.close();  
  111.     xlsWin.document.execCommand('Saveas', true, inName);  
  112.     xlsWin.close();  
  113. }   

用法是这样的,HTML的BODY中必须有这些元素

[html]  view plain copy
  1. <iframe id="HideFrm" style="display: none"></iframe>  
  2.   
  3. <div id="div_list">  
  4.         <table id="list4">  
  5.         </table>  
  6. </div>  
  7. <button id="export" value="导出">导出</button> 
[html]  view plain copy
  1. 那个iframe可要可不要,不要的话导出的时候会弹出一个网页窗口,要的话比较有好一点,反正是display: none的。table是你要转换为jqGrid的,必须要有一个DIV包裹住这个TABLE,因为导出中要取TABLE的列名要用到。然后对button写一个click事件调用getXlsFromTbl这个方法执行导出就好了  
[javascript]  view plain copy
  1. $('#export').click(function() {  
  2.                 var title = "供应信息";  
  3.                 getXlsFromTbl('list4', 'div_list', title, true)  
  4.             });  
[html]  view plain copy
  1. getXlsFromTbl有四个参数:第一个参数是要转换成JQGRID的table的ID,第二个参数是包裹这个table的DIV的ID,第三个是用来拼接导出文件名的,第四个参数是指示是否JQGRID显示了rownumbers,就是最前面那一串序号123456什么的。如果你的JQGRID参数设置了rownumber:true,那这边参数就填true,反之同理,否则导出的的文件列会对歪一列. 
jqGrid控件导入导出Excel文件 jqGrid控件导入导出Excel文件,将几个jqgrid导出一份Excel多sheet文件 ,亦可多sheet的excel导入至多个jqGrid表格。 立即下载

相关推荐

jqgrid 导出成为 JSON, XML, CSV, TSV, TXT, SQL, Word, Excel, PNG,PDF格式

jqgrid 导出成为 JSON, XML, CSV, TSV, TXT, SQL, Word, Excel, PNG,PDF格式

Jqgrid表格控件导出excel文件

Jqgrid导出excel实现思路: 1、根据jqgrid表头样式,使用jquery获取表头样式。为保证对合并单元格表头的兼容,实现中没有使用到jqgrid原声api获取colName等信息。 2、导出文件内容使用xml格式文件。 3、在前头页面生成文件内容,然后将生成文件内容发送到服务端,由服务端生成文件下载。(也有很多直接使用前台下载方式,前台下载目前大多具有浏览器限制问题) /*...

ruixing222的专栏 5301

用Stata复现经典文献:上市公司全要素生产率(TFP)计算全流程(含LP/OP代码解读)

本文提供了使用Stata软件复现上市公司全要素生产率(TFP)计算的完整实战指南。重点解读了主流的Levinsohn-Petrin(LP)和Olley-Pakes(OP)半参数估计方法,通过详细的数据清洗、变量构建与价格平减步骤,手把手演示了如何准确测算TFP,并强调了LP方法在处理中国上市公司数据时的稳定性和适用性。

b0c1d2的博客 593

jqgrid实现客户端导出Excel、txt、word、json等数据格式的文件

jqgrid插件貌似没有提供导出数据功能,项目以前有用bootstrap-table,有个相应的导出表格数据插件bootstrap-table-export,后面项目将所有的bootstrap-table换成jqgrid表格也想把之前的导出功能移过来。后面去读bootstrap-table-export插件源码发现 作者其实是简单封装另外一个插件 tableExport.js插件。后面网上一搜发现...

重庆李四 1万+

Python开发者必看:5分钟搞定Gemini API的3种调用方式(含代码示例)

本文为Python开发者详细介绍了三种高效调用Gemini API的核心方式:基础同步调用、流式调用和聊天模式,并涵盖多模态应用等高级特性。通过清晰的代码示例和实战场景分析,帮助开发者快速掌握Gemini API的集成与优化,提升AI应用开发效率。

g8f9d0s1a2的博客 1121

最短线性递推式求解与有理函数重建

这一算法来自于我们对“线性递推式拟合”的视角转换,其后得到的算法是自然的。 引理 1. 如果两个有理分式 p1/q1,p2/q2p_1/q_1, p_2/q_2p1​/q1​,p2​/q2​ 均有 deg⁡p<n,deg⁡q≤n\deg p<n, \deg q\leq ndegp<n,degq≤n 且展开式 p1/q1≡p2/q2(modx2n)p_1/q_1 \equiv p_2/q_2 \pmod {x^{2n}}p1​/q1​≡p2​/q2​(modx2n),那么 p1/q1=p2/

Entropy Increaser 的博客 2590

关于jqGrid的导出

jqGrid 导出方法 问题:jqGrid 加载导出,出现一只加载报错; 解决:   jqGrid 其中有有个为Gird.csvExport();的方法,可直接导出表格的各列和其中的数据, 附上一段码 &lt;div style="width:1200px;overflow-x:auto"&gt; &lt;table id='transferList'&gt;&lt;/table&...

duruo28的博客 2461

【Qt】QML-01:使用QtCreator10创建QML工程,并讲解第一个程序:Hello World

QML第一讲:创建QML工程、详解QML第一个程序Hello World

郭老二 7795

jqgrid 表格数据导出

jqgrid 表格数据导出 jqgrid并没有自带导出表格数据的方法,这里就自己实现了一个,尝试过在页面直接将数据导出,发现只有IE下可以通过调用saveas来实现,但是别的浏览器不支持,于是考虑将数据传回后台,然后后台返回下载文件来实现。 首先,是一段javascript脚本: /** * * * @param table_id 表格的id * @par

fover717的专栏 5976

【WRF安装】完整自动化 WRF-ARW/WRF-Chem 安装脚本(多服务器测试)

【WRF安装】完整自动化 WRF-ARW/WRF-Chem 安装脚本(多服务器测试)

WW、forever的博客 283

OSCP-Algernon(SmarterMail)

从前面的结果中,确实有.NET远程处理在端口17001上运行。因此,此漏洞应适用于目标计算机。下载了漏洞并编辑了以下部分以匹配我的IP并使用本地端口21。端口9998引导到一个SmarterMail的登录页面。设置监听,获得一个反弹shell。端口80重定向到默认IIS页。已经是system权限了。google搜索漏洞。

墨痕诉清风的博客 488

如何实现jqGrid数据导出

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33709364的博客 415

SAPGUI excel 导出时遇到的运行时错误:STRING_SIZE_TOO_LARGE

当报表导出需求远超单一 XLSX 文件的物理承载力时,与其在 SAPGUI 中硬拼 2 GB 限制,不如把分页、过滤、流式写入作为设计前提。掌握 ABAP2XLSX 或 CSV + Power Query 等工具链,既能满足审计合规,又能让应用服务器远离的噩梦。祝你在下一次导出海量数据时,既高效又优雅。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 638

通过tableExport.js插件导出jqgrid表格数据

通过tableExport.js插件导出jqgrid表格数据,实现了导出:JSON、XML、CSV、TXT、SQL、MS-Word、Ms-Excel,解决了数据量少而导致的中文乱码问题,解决导出数据无后缀名问题

想吃烤肉 1223

46、聚类算法在智能交通数据分析中的应用

本文探讨了聚类算法在智能交通数据分析中的应用,介绍了K-均值算法、K-中心点算法和基于模型的聚类算法的基本原理及特点,并结合实际交通数据讨论了其应用场景与挑战。通过聚类分析,能够从海量交通数据中发现隐藏模式,为交通管理和规划提供科学依据。文章还展示了具体的案例分析和实现流程,为未来智能交通系统的发展提供了参考。

zz67890的博客 133

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

jqgrid demo 导出数据到Excel

jqgrid带 导出数据到Excel 功能的demo: http://www.trirand.net/demophp.aspx      

我的IT之旅 445

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

jqGrid与layui结合 查询将表格数据导出Excel

例如 需要将当前分页数据或全部数据导出为Excel 1、导出当前页数据:使用jqGrid的 var data = $("#table_list").jqGrid('getRowData'); 可获取当前页所有数据 2、导出所有分页总数据:首先获取当前所用到的查询条件 var queryData = $("#table_list").jqGrid('getGridPara...

qq_36601979的博客 1119

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

导出jqgrid表格数据为EXCEL文件,通过tableExport.js插件。

今天公司项目需要做个导出功能,将jqgrid查询出的数据导出为EXCEL表格文件,期间遇到两个问题: 1.导出报错 uncaught exception: INVALID_CHARACTER_ERR: DOM Exception 5 ,原因是插件是老外写的,不支持中文。 2.使用官方的导出代码//$('#jqgrid1').tableExport({ type: 'excel',...

diaofuzuo3286的博客 1428

jqgrid php实例,JavaScript_jqgrid 表格数据导出实例,首先,是一段javascript脚本:复 - phpStudy...

jqgrid 表格数据导出实例首先,是一段javascript脚本:/***** @param table_id 表格的id* @param container_id 容器的id* @param form_id 提交表单的id* @param title 文件名* @param rownumbers*/function getXlsFromTbl(table_id, container_id ,f...

weixin_36329465的博客 228

jqgrid导出CSV

最近一直在弄jqgrid,都是准备在新的项目上的难点。在此过程中遇到了jqgrid需要导出数据至csv,在网上查找了各种资料,没有现成的样例,网上只有导出当前页面上的表格,而项目需要导出所有的数据,所以只有自己在前辈的基础上修改了 以下代码根据网上js导出csv修改而成 $("#del").click(function () { var title = "人员信息";

4991

JqGrid分页表格数据导出excel而两种方式

首先要确定一个问题: 你的数据返回的方式是一次性加载完还是点击下一页重新请求服务器? 根据你上边数据返回的方式,我们分类来处理。 第一种:点击下一页重新请求服务器 这种的话,每次点击下一页是需要重新请求服务器的,所以我们只需发送请求,然后后台从数据库select数据得到list,将list传给生成EXCEL的函数(一般都是用POI)。 ...

350

Jqgrid获取所有表格数据数据

在使用本地数据时,利用ajax获取所有的数据,然后jqgrid利用本地数据自行分页. 如果要导出Excel所有的数据,并切jqgrid已经对数据进行了格式化,自己又不想重新查询所有数据并格式化,则干脆利用jqgrid获取表格的所有数据作为excel的数据源,然后导出. 翻阅jqgrid有//var allData = $(“#table_list_1”).getRowData();//获取所有数

刘罗好帅的爸爸 1万+

jqgrid如何渲染表格数据_jqgrid 表格数据导出实例

首先,是一段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, ...

weixin_39938746的博客 194
上一篇: iframe实现无刷新上传文件
下一篇: memcached搭建缓存系统
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值