java datagrid导出excel_实现easyui的datagrid导出为excel的示例代码

之前有介绍过如何实现easyui里datagrid内容的打印,今天给大家介绍下如何实现datagrid内容导出为excel文件。以下为代码实现:

export.js

function ChangeToTable(printDatagrid) {

var tableString = '

var frozenColumns = printDatagrid.datagrid("options").frozenColumns; // 得到frozenColumns对象

var columns = printDatagrid.datagrid("options").columns; // 得到columns对象

var nameList = new Array();

// 载入title

if (typeof columns != 'undefined' && columns != '') {

$(columns).each(function (index) {

tableString += '\n

';

if (typeof frozenColumns != 'undefined' && typeof frozenColumns[index] != 'undefined') {

for (var i = 0; i < frozenColumns[index].length; ++i) {

if (!frozenColumns[index][i].hidden) {

tableString += '\n

if (typeof frozenColumns[index][i].rowspan != 'undefined' && frozenColumns[index][i].rowspan > 1) {

tableString += ' rowspan="' + frozenColumns[index][i].rowspan + '"';

}

if (typeof frozenColumns[index][i].colspan != 'undefined' && frozenColumns[index][i].colspan > 1) {

tableString += ' colspan="' + frozenColumns[index][i].colspan + '"';

}

if (typeof frozenColumns[index][i].field != 'undefined' && frozenColumns[index][i].field != '') {

nameList.push(frozenColumns[index][i]);

}

tableString += '>' + frozenColumns[0][i].title + '

';

}

}

}

for (var i = 0; i < columns[index].length; ++i) {

if (!columns[index][i].hidden) {

tableString += '\n

if (typeof columns[index][i].rowspan != 'undefined' && columns[index][i].rowspan > 1) {

tableString += ' rowspan="' + columns[index][i].rowspan + '"';

}

if (typeof columns[index][i].colspan != 'undefined' && columns[index][i].colspan > 1) {

tableString += ' colspan="' + columns[index][i].colspan + '"';

}

if (typeof columns[index][i].field != 'undefined' && columns[index][i].field != '') {

nameList.push(columns[index][i]);

}

tableString += '>' + columns[index][i].title + '

';

}

}

tableString += '\n

';

});

}

// 载入内容

var rows = printDatagrid.datagrid("getRows"); // 这段代码是获取当前页的所有行

for (var i = 0; i < rows.length; ++i) {

tableString += '\n

';

for (var j = 0; j < nameList.length; ++j) {

var e = nameList[j].field.lastIndexOf('_0');

tableString += '\n

if (nameList[j].align != 'undefined' && nameList[j].align != '') {

tableString += ' style="text-align:' + nameList[j].align + ';"';

}

tableString += '>';

if (e + 2 == nameList[j].field.length) {

tableString += rows[i][nameList[j].field.substring(0, e)];

}

else

tableString += rows[i][nameList[j].field];

tableString += '

';

}

tableString += '\n

';

}

tableString += '\n

';

return tableString;

}

function Export(strXlsName, exportGrid) {

var f = $('

');

var i = $('');

var l = $('');

i.val(ChangeToTable(exportGrid));

i.appendTo(f);

l.val(strXlsName);

l.appendTo(f);

f.appendTo(document.body).submit();

document.body.removeChild(f);

}

export.aspx

protected void Page_Load(object sender, EventArgs e)

{

Response.Clear();

Response.Buffer = true;

Response.Charset = "utf-8";

Response.ContentEncoding = System.Text.Encoding.UTF8;

Response.AppendHeader("content-disposition", "attachment;filename=\"" + HttpUtility.HtmlEncode(Request["txtName"]??DateTime.Now.ToString("yyyyMMdd")) + ".xls\"");

Response.ContentType = "Application/ms-excel";

Response.Write("\n

\n");

Response.Write("

"\n.pb th{font-weight:bold;text-align:center;border:0.5pt solid windowtext;padding:2px;} " +

"\n.pb td{border:0.5pt solid windowtext;padding:2px;}\n\n\n");

Response.Write("

\n" + Request["txtContent"] + "\n\n");

Response.Flush();

Response.End();

}

其中export.aspx为了防止前台页面内容干扰,前台页面只留:

这句话,其他的全部删除。

调用方法:

导出

以上就是小编为大家带来的实现easyui的datagrid导出为excel的示例代码全部内容了,希望大家多多支持脚本之家~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值