首页 > web前端 > js教程 > 正文

js导出table到excel同时兼容FF和IE示例_javascript技巧

php中文网
发布: 2016-05-16 17:23:36
原创
1710人浏览过
复制代码 代码如下:

前台调用(第一个参数是table的id): <input value="导出" type="button" /> <BR>function toExcel(inTblId, inWindow) { <BR>if ($.browser.msie) { //如果是IE浏览器 <BR>try { <BR>var allStr = ""; <BR>var curStr = ""; <BR>if (inTblId != null && inTblId != "" && inTblId != "null") { <BR>curStr = getTblData(inTblId, inWindow); <BR>} <BR>if (curStr != null) { <BR>allStr += curStr; <BR>} <BR>else { <BR>alert("你要导出的表不存在!"); <BR>return; <BR>} <BR>var fileName = getExcelFileName(); <BR>doFileExport(fileName, allStr); <BR>} <BR>catch (e) { <BR>alert("导出发生异常:" + e.name + "->" + e.description + "!"); <BR>} <BR>} <BR>else { <BR>window.open('data:application/vnd.ms-excel,' + encodeURIComponent($('div[id$=divGvData]').html())); <BR>e.preventDefault(); <BR>} <BR>} <BR>function getTblData(inTbl, inWindow) { <BR>var rows = 0; <BR>var tblDocument = document; <BR>if (!!inWindow && inWindow != "") { <BR>if (!document.all(inWindow)) { <BR>return null; <BR>} <BR>else { <BR>tblDocument = eval(inWindow).document; <BR>} <BR>} <BR>var curTbl = tblDocument.getElementById(inTbl); <BR>if (curTbl.rows.length > 65000) { <BR>alert('源行数不能大于65000行'); <BR>return false; <BR>} <BR>if (curTbl.rows.length <= 1) { <BR>alert('数据源没有数据'); <BR>return false; <BR>} <BR>var outStr = ""; <BR>if (curTbl != null) { <BR>for (var j = 0; j < curTbl.rows.length; j++) { <BR>for (var i = 0; i < curTbl.rows[j].cells.length; i++) { <BR>if (i == 0 && rows > 0) { <BR>outStr += " \t"; <BR>rows -= 1; <BR>} <BR>var tc = curTbl.rows[j].cells[i]; <BR>if (j > 0 && tc.hasChildNodes() && tc.firstChild.nodeName.toLowerCase() == "input") { <BR>if (tc.firstChild.type.toLowerCase() == "checkbox") { <BR>if (tc.firstChild.checked == true) { <BR>outStr += "是" + "\t"; <BR>} <BR>else { <BR>outStr += "否" + "\t"; <BR>} <BR>} <BR>} <BR>else { <br><br>outStr += " "+curTbl.rows[j].cells[i].innerText + "\t"; <BR>} <BR>if (curTbl.rows[j].cells[i].colSpan > 1) { <BR>for (var k = 0; k < curTbl.rows[j].cells[i].colSpan - 1; k++) { <BR>outStr += " \t"; <BR>} <BR>} <BR>if (i == 0) { <BR>if (rows == 0 && curTbl.rows[j].cells[i].rowSpan > 1) { <BR>rows = curTbl.rows[j].cells[i].rowSpan - 1; <BR>} <BR>} <BR>} <BR>outStr += "\r\n"; <BR>} <BR>} <BR>else { <BR>outStr = null; <BR>alert(inTbl + "不存在!"); <BR>} <BR>return outStr; <BR>} <BR>function getExcelFileName() { <BR>var d = new Date(); <BR>var curYear = d.getYear(); <BR>var curMonth = "" + (d.getMonth() + 1); <BR>var curDate = "" + d.getDate(); <BR>var curHour = "" + d.getHours(); <BR>var curMinute = "" + d.getMinutes(); <BR>var curSecond = "" + d.getSeconds(); <BR>if (curMonth.length == 1) { <BR>curMonth = "0" + curMonth; <BR>} <BR>if (curDate.length == 1) { <BR>curDate = "0" + curDate; <BR>} <BR>if (curHour.length == 1) { <BR>curHour = "0" + curHour; <BR>} <BR>if (curMinute.length == 1) { <BR>curMinute = "0" + curMinute; <BR>} <BR>if (curSecond.length == 1) { <BR>curSecond = "0" + curSecond; <BR>} <BR>var fileName = "设备状态" + curYear + curMonth + curDate + curHour + curMinute + curSecond + ".xls"; <BR>return fileName; <BR>} <BR>function doFileExport(inName, inStr) { <BR>var xlsWin = null; <BR>if (!!document.all("glbHideFrm")) { <BR>xlsWin = glbHideFrm; <BR>} <BR>else { <BR>var width = 1; <BR>var height = 1; <BR>var openPara = "left=" + (window.screen.width / 2 + width / 2) <BR>+ ",top=" + (window.screen.height + height / 2) <BR>+ ",scrollbars=no,width=" + width + ",height=" + height; <BR>xlsWin = window.open("", "_blank", openPara); <BR>} <BR>xlsWin.document.write(inStr); <BR>xlsWin.document.close(); <BR>xlsWin.document.execCommand('Saveas', true, inName); <BR>xlsWin.close(); <BR>} 
登录后复制

登录后复制



相关标签:
WPS零基础入门到精通全套教程!
WPS零基础入门到精通全套教程!

全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号