JavaScript
发布时间:2022-04-16 发布网站:大佬教程 code.js-code.com
大佬教程 收集整理的这篇文章主要介绍了实现easyui的datagrid导出为excel的示例代码 ,大佬教程 大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
之前有介绍过如何实现 easyui里datagrid内容的打印,今天给大家介绍下如何实现 datagrid内容导出为excel文件。以下为代码实现:
export.js
0586@ble(printDatagrid)
{
var table
Stri ng = '
columns = printDatagrid.datagrid("options").frozencolum ns; // 得到frozencolum ns对象
var colum ns = printDatagrid.datagrid("options").colum ns; // 得到colum ns对象
var nameList = new Array();
// 载入titl e
if (typeof colum ns != 'undefined' && colum ns != '') {
$(colum ns).each(function (indeX) {
tableStri ng += '\n<tr>';
if (typeof frozencolum ns != 'undefined' && typeof frozencolum ns[index] != 'undefined') {
for (var i = 0; i < frozencolum ns[index].length; ++i) {
if (!frozencolum ns[index][i].hidden) {
tableStri ng += '\n<th width="' + frozencolum ns[index][i].width + '"';
if (typeof frozencolum ns[index][i].rowspan != 'undefined' && frozencolum ns[index][i].rowspan > 1) {
tableStri ng += ' rowspan="' + frozencolum ns[index][i].rowspan + '"';
}
if (typeof frozencolum ns[index][i].colspan != 'undefined' && frozencolum ns[index][i].colspan > 1) {
tableStri ng += ' colspan="' + frozencolum ns[index][i].colspan + '"';
}
if (typeof frozencolum ns[index][i].field != 'undefined' && frozencolum ns[index][i].field != '') {
nameList.push(frozencolum ns[index][i]);
}
tableStri ng += '>' + frozencolum ns[0] [i].titl e + '';
}
}
}
for (var i = 0; i < colum ns[index].length; ++i) {
if (!colum ns[index][i].hidden) {
tableStri ng += '\n<th width="' + colum ns[index][i].width + '"';
if (typeof colum ns[index][i].rowspan != 'undefined' && colum ns[index][i].rowspan > 1) {
tableStri ng += ' rowspan="' + colum ns[index][i].rowspan + '"';
}
if (typeof colum ns[index][i].colspan != 'undefined' && colum ns[index][i].colspan > 1) {
tableStri ng += ' colspan="' + colum ns[index][i].colspan + '"';
}
if (typeof colum ns[index][i].field != 'undefined' && colum ns[index][i].field != '') {
nameList.push(colum ns[index][i]);
}
tableStri ng += '>' + colum ns[index][i].titl e + '';
}
}
tableStri ng += '\n</tr>';
});
}
// 载入内容
var rows = printDatagrid.datagrid("getRows"); // 这段代码是获取当前页的所有行
for (var i = 0; i < rows. length; ++i) {
tableStri ng += '\n<tr>';
for (var j = 0; j < nameList.length; ++j) {
var e = nameList[j].field.lasTin dexOf('_0');
@H_772 _54@ tableStri ng += '\n<td';
if (nameList[j].align != 'undefined' && nameList[j].align != '') {
tableStri ng += ' style="text-align:' + nameList[j].align + ';"';
}
tableStri ng += '>';
if (e + 2 == nameList[j].field.length) {
tableStri ng += rows[i][nameList[j].field.subStri ng(0,E) ];
}
else
tableStri ng += rows[i][nameList[j].field];
tableStri ng += '</td>';
}
tableStri ng += '\n</tr>';
}
tableStri ng += '\n</table>';
return tableStri ng;
}
function Export(strXlsName,exportGrid) {
var f = $('<form action="/export.aspx" method="post" id="fm1">');
var i = $(' ');
var l = $(' ');
i.val(Change@R_989_1058 6@ble(exportGrid));
i.appendTo(f);
l. val(strXlsName) ;
l. appendTo(f);
f.appendTo(document.b ody).submit();
document.b ody.removeChild(f);
}
@H_262 _79@
export.aspx
ject sender,EventArgs
E)
{
Response.Clear(
);
Response
.b uffer = true;
Response.Charset = "utf-8";
Response.ContentEncoding = Syste
m. Text.Encoding.UTF8;
Response.AppendHeader("content-disposition","attachment;fil
ename =\"" +
http Utility.HtmlEncode(
requ est["txtName"]??
dateti R_997_11845@e.Now.To
Stri ng("yyy
ym Mdd")) + ".xls\""
);
Response.ContentType = "Application/ms-excel";
Response.Write("\n\n"
);
Response.Write("\n\n"
);
Response.Write("\n" +
requ est["txtContent"] + "\n\n"
);
Response.Flush(
);
Response.End(
);
}
@H_
262 _79@
其中export.aspx为了防止前台页面内容干扰,前台页面只留:
@H_
262 _79@
这句话,其他的全部删除。
调用方法:
标签: