js导出excel

//Excel下载   
//dt为 C#类型 DataTable 经过AjaxPro2 转换的类型,其他类型自行修改
//str += "table{ border:1px solid black}"; solid 后面不能跟#FFF这种形式

function dataExcel(dt, title) {
    var filename = title + '.xls';
    // var value = "<table>" + tabledate.innerHTML + "</table>";
    var value = DTtoStr(dt, title);

    if (navigator.userAgent.indexOf("MSIE") > 0) {
        document.querySelector('#aLink').setAttribute('onclick', "IEDownload('" + filename + "','" + value + "');return false;");
        //document.querySelector('#aLink').setAttribute("onclick", "IEDownload(" + blob + ",'" + filename + "');return false;");
    }
    else {
        document.querySelector('#aLink').download = filename;
        document.querySelector('#aLink').href = "data:text/xls;charset=utf-8," + value;
    }
}


function IEDownload(filename, value) {
    var oWin = window.top.open("about:blank", "_blank");
    oWin.document.write(value);
    oWin.document.close();
    oWin.document.execCommand('SaveAs', true, filename);
    oWin.close();
    //var blob = new Blob(["\uFEFF" + value], {
    //    type: "text/xls;charset=utf-8;"
    //});
    //navigator.msSaveBlob(blob, filename);
}


function DTtoStr(dt, title) {
    var str = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">";
    str += "<head>";
    str += "<style type=\"text/css\">";
    str += "table{ border:1px solid black}";
    str += "td{ border:1px solid black; text-align:center;}";
    str += "</style>";
    str += "</head>";
    str += "<body>";
    str += "<table  cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse:collapse\" >";

    var columnNames = [];
    str += "<tr><td colspan='" + (dt.Columns.length + 1) + "' align='center' >" + title + "</td></tr>";
    str += "<tr>";
    str += "<td>序号</td>";
    for (var i = 0; i < dt.Columns.length; i++) {
        str += "<td>" + dt.Columns[i].Name + "</td>";
        columnNames.push(dt.Columns[i].Name);
    }
    str += "</tr>";
    for (var i = 0; i < dt.Rows.length; i++) {
        str += "<tr>";
        str += "<td>" + (i + 1) + "</td>";
        for (var p = 0; p < columnNames.length; p++) {
            str += "<td>" + dt.Rows[i][columnNames[p]] + "</td>";
        }
        str += "</tr>";
    }
    str += "</table></body></html>";
    return str;
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值