您好,欢迎访问一九零五行业门户网

js把页面的table标签导出为csv

这篇文章主要介绍了关于js把页面的table标签导出为csv,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
// 使用该保存方法,table必须外嵌一个p且不能有任何其他元素 否则ie下载会出现其他数据
//tableid , title 为文件保存的文件名
function savecode(tableid, title) { var winname; try { if (navigator.useragent.indexof("msie") > 0) //ie浏览器 { var strhtml = $("#" + tableid).parent().html(); //alert("ie浏览器"); winname = window.open("toexcel", "_blank", 'top=10000'); winname.document.open('text/html', 'replace'); winname.document.write("<style>"); winname.document.write("table{border:solid 1px #000;text-align:center;border-collapse:collapse; border-spacing:0;}"); winname.document.write("table td{border:solid 1px #000;text-align:center;}"); winname.document.write("table th{border:solid 1px #000;text-align:center;}"); winname.document.write("</style>"); winname.document.write(strhtml); winname.document.execcommand('saveas', '', title + '.xls'); document.execcommand("clearauthenticationcache"); winname.close(); } else if (isfirefox = navigator.useragent.indexof("firefox") > 0) //firefox { //alert("firefox"); var str = gettbldatabyfirefox(tableid, this); //支持中文 var uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeuricomponent(str); var downloadlink = document.createelement("a"); downloadlink.href = uri; downloadlink.download = title + ".csv"; document.body.appendchild(downloadlink); downloadlink.click(); document.body.removechild(downloadlink); } else //google chrome { //alert("google chrome等浏览器"); var str = gettbldata(tableid, this); //支持中文 var uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeuricomponent(str); var downloadlink = document.createelement("a"); downloadlink.href = uri; downloadlink.download = title + ".csv"; document.body.appendchild(downloadlink); downloadlink.click(); document.body.removechild(downloadlink); } } catch (e) { alert(e.message); return false; } return false;}function gettbldata(intbl, inwindow) { var rows = 0; var tbldocument = document; tbldocument = eval(inwindow).document; var curtbl = tbldocument.getelementbyid(intbl); var outstr = ""; if (curtbl != null) { for (var j = 0; j < curtbl.rows.length; j++) { for (var i = 0; i < curtbl.rows[j].cells.length; i++) { if (i == 0 && rows > 0) { outstr += ","; rows -= 1; } outstr +=curtbl.rows[j].cells[i].innertext + ","; if (curtbl.rows[j].cells[i].colspan > 1) { for (var k = 0; k < curtbl.rows[j].cells[i].colspan - 1; k++) { outstr += ","; } } if (i == 0) { if (rows == 0 && curtbl.rows[j].cells[i].rowspan > 1) { rows = curtbl.rows[j].cells[i].rowspan - 1; } } } outstr += "\r\n";//换行 } } else { outstr = null; alert(allpage.nodata); } return outstr;}
开发中遇到一些需要导出数据之类的可以试试该方式 (ps:阿拉伯语言有bug不建议使用)
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注!
相关推荐:
javascript error对象的解析
js实现简单的单击图片循环播放
将网址url转化为json格式
以上就是js把页面的table标签导出为csv的详细内容。
其它类似信息

推荐信息