有没有谁用过jqGrid导出excel 如图,导出的不是当前table,是整个数据源,语言是c# 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个可以直接用C#查询数据库导出啊,http://blog.csdn.net/qiujialongjjj/article/details/6773169 //导出报表 var ExportTable= function (title, flag, tableId, isAddedFoot) { try { var $curTb = null; if (flag != '') { $curTb = $("#" + flag + "_" + tableId); } else { $curTb = $("#" + tableId); } var curTbl = $curTb[0]; var Lenc = curTbl.rows(0).cells.length; var dateTime = $("#" + flag + "_txtBeginDateCtl").val(); var year = new Date().getYear(); var ds = null; if (dateTime.indexOf('-') >= 0) { ds = dateTime.split('-'); year = ds[0]; } else if (dateTime.indexOf('/') >= 0) { ds = dateTime.split('/'); year = ds[0]; } var tbTitle = "<table id='tbTitle'><tr><td style='font-weight:bold;text-align:left'>" + title; tbTitle += "(" + year + "-" + curTbl.rows(0).cells(1).innerText + " 到 " + year + "-" + curTbl.rows(0).cells(Lenc - 1).innerText + ")</td></tr>"; tbTitle += "</table>"; $curTb.prepend(tbTitle); if (isAddedFoot) { var tbFoot = "<table id='tbColor' cellspacing='0' align='Left'><tr><td></td></td>" + "<tr> <td style='text-align:left;' width='60'>颜色说明</td>" + "<td style='background-color:#7f7f7f;text-align:center;' width='100'>时间已过</td>" + "<td width='10'></td>" + "<td style='background-color:#604a7b;text-align:center;' width='100'>已审查</td>" + "<td width='10'></td>" + "<td style='background-color:#31859c;text-align:center;' width='100'>已审核</td>" + "<td width='10'></td>" + "<td style='background-color:#4f6228;text-align:center;' width='100'>已审阅</td>" + "<td width='10'></td>" + "<td style='background-color:red;text-align:center;' width='100'>冲突数据</td>" + "</tr> " + "</table>"; $curTb.append(tbFoot); } var oXL = new ActiveXObject("Excel.Application"); var oWB = oXL.Workbooks.Add(); var oSheet = oWB.ActiveSheet; var sel = document.body.createTextRange(); sel.moveToElementText(curTbl); sel.select(); sel.execCommand("Copy"); oSheet.Paste(); var sheetR = oSheet.UsedRange.Rows.Count; var sheetC = oSheet.UsedRange.Columns.Count; oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(sheetR, sheetC)).Borders.LineStyle = 1; oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(sheetR, sheetC)).Font.Size = 9; oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(1, sheetC)).Merge(); oSheet.Cells(2, 1).HorizontalAlignment = 2; oSheet.Cells(2, 1).VerticalAlignment = 2; oSheet.Cells(2, 1).Font.Bold = true; oSheet.Cells(2, 1).Font.Size = 12; oSheet.Rows(2 + ":" + 2).RowHeight = 30; oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(2, sheetC)).Merge(); if (isAddedFoot) { oSheet.Range(oSheet.Cells(sheetR - 1, 1), oSheet.Cells(sheetR - 1, sheetC)).Merge(); } oXL.Visible = true; $("#tbTitle").remove(); $("#tbColor").remove(); //alert("导出成功!"); } catch(e) { alert("导出失败!"); } finally { window.setInterval("CleanUp();", 1); } } var CleanUp= function () { window.clearInterval(idTmr); CollectGarbage(); } 引用一位老师的。 这个是导出table数据的吧,我要的是导出带URL的数据源的,唉 如果要导出页面Table内容,可以考虑直接在客户端js生成Excel内容。 可以导出来。看higrid.net上的演示 $("#grid1").jqGrid('navButtonAdd', '#UsersGridPager', { caption: "导出", buttonicon: "ui-icon-disk", title: "导出到Excel文件", onClickButton: function() { if (filter == "") filter = " and rownum<=100 "; var actionUrl = "export.aspx?q=" + escape(filter); window.open(actionUrl); } });//后台:try { Response.Charset = "GB2312"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("defects.xls", System.Text.Encoding.UTF8).ToString()); Response.ContentType = "application/vnd.ms-excel"; string filter=""; StringWriter tw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(tw); GridView gv = new GridView(); if (Request.QueryString["q"] != null) filter = Request.QueryString["q"]; else filter = " and (发现时间 between SysDate-7 and Sysdate) and 是否消除=''未消除''"; gv.DataSource = queryDt(filter); gv.DataBind(); gv.RenderControl(hw); Response.Write(tw.ToString()); Response.End(); } catch (HttpException hex) { Response.Write(hex.Message); } ASP.NET怎么做二级域名解析啊,类似(58同城,赶集网),子域名IP不同。 关于参数化查询,不明白 如何实现全局控制拦截器 半天了,就是没有搞定.....急.... 请大家提供一个国外的 类似国内提供网站源代码下载的网址!! 关于VS2005的ASP.NET的调试问题,请进!!!!!!! ______请教个效率题,谢谢 100分的问题: deeptree中,如何默认将某一个或多个节点展开??? asp.net数组,类传值问题 高分汇报!!!部署服务的问题。 用JS隐藏控件后,如何使验证控件失效 考试倒计时,页面刷新不会从新计时
var ExportTable= function (title, flag, tableId, isAddedFoot) {
try {
var $curTb = null;
if (flag != '') {
$curTb = $("#" + flag + "_" + tableId);
} else {
$curTb = $("#" + tableId);
}
var curTbl = $curTb[0];
var Lenc = curTbl.rows(0).cells.length;
var dateTime = $("#" + flag + "_txtBeginDateCtl").val();
var year = new Date().getYear();
var ds = null;
if (dateTime.indexOf('-') >= 0) {
ds = dateTime.split('-');
year = ds[0];
} else if (dateTime.indexOf('/') >= 0) {
ds = dateTime.split('/');
year = ds[0];
}
var tbTitle = "<table id='tbTitle'><tr><td style='font-weight:bold;text-align:left'>" + title;
tbTitle += "(" + year + "-" + curTbl.rows(0).cells(1).innerText + " 到 " + year + "-" + curTbl.rows(0).cells(Lenc - 1).innerText + ")</td></tr>";
tbTitle += "</table>";
$curTb.prepend(tbTitle); if (isAddedFoot) {
var tbFoot = "<table id='tbColor' cellspacing='0' align='Left'><tr><td></td></td>" +
"<tr> <td style='text-align:left;' width='60'>颜色说明</td>" +
"<td style='background-color:#7f7f7f;text-align:center;' width='100'>时间已过</td>" +
"<td width='10'></td>" +
"<td style='background-color:#604a7b;text-align:center;' width='100'>已审查</td>" +
"<td width='10'></td>" +
"<td style='background-color:#31859c;text-align:center;' width='100'>已审核</td>" +
"<td width='10'></td>" +
"<td style='background-color:#4f6228;text-align:center;' width='100'>已审阅</td>" +
"<td width='10'></td>" +
"<td style='background-color:red;text-align:center;' width='100'>冲突数据</td>" +
"</tr> " +
"</table>"; $curTb.append(tbFoot);
}
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var sel = document.body.createTextRange();
sel.moveToElementText(curTbl);
sel.select();
sel.execCommand("Copy");
oSheet.Paste(); var sheetR = oSheet.UsedRange.Rows.Count;
var sheetC = oSheet.UsedRange.Columns.Count;
oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(sheetR, sheetC)).Borders.LineStyle = 1;
oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(sheetR, sheetC)).Font.Size = 9; oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(1, sheetC)).Merge(); oSheet.Cells(2, 1).HorizontalAlignment = 2;
oSheet.Cells(2, 1).VerticalAlignment = 2;
oSheet.Cells(2, 1).Font.Bold = true;
oSheet.Cells(2, 1).Font.Size = 12;
oSheet.Rows(2 + ":" + 2).RowHeight = 30;
oSheet.Range(oSheet.Cells(2, 1), oSheet.Cells(2, sheetC)).Merge();
if (isAddedFoot) {
oSheet.Range(oSheet.Cells(sheetR - 1, 1), oSheet.Cells(sheetR - 1, sheetC)).Merge();
}
oXL.Visible = true;
$("#tbTitle").remove();
$("#tbColor").remove(); //alert("导出成功!"); } catch(e) {
alert("导出失败!");
} finally {
window.setInterval("CleanUp();", 1);
}
} var CleanUp= function ()
{
window.clearInterval(idTmr);
CollectGarbage();
} 引用一位老师的。
看higrid.net上的演示
onClickButton: function() {
if (filter == "")
filter = " and rownum<=100 ";
var actionUrl = "export.aspx?q=" + escape(filter);
window.open(actionUrl);
}
});
//后台:
try
{
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader("Content-Disposition", "attachment;filename="
+ HttpUtility.UrlEncode("defects.xls", System.Text.Encoding.UTF8).ToString());
Response.ContentType = "application/vnd.ms-excel"; string filter="";
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw); GridView gv = new GridView();
if (Request.QueryString["q"] != null)
filter = Request.QueryString["q"];
else
filter = " and (发现时间 between SysDate-7 and Sysdate) and 是否消除=''未消除''"; gv.DataSource = queryDt(filter);
gv.DataBind();
gv.RenderControl(hw); Response.Write(tw.ToString());
Response.End();
}
catch (HttpException hex)
{
Response.Write(hex.Message);
}