`
wang_zhi_peng2007
  • 浏览: 241968 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js导出table表数据到Excel

 
阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> 导出到Excel </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <script>
	function toExcel(inTblId, inWindow) { 
            try { 
                var allStr = ""; 
                var curStr = ""; 
                if (inTblId != null && inTblId != "" && inTblId != "null") { 
                    curStr = getTblData(inTblId, inWindow); 
                } 
                if (curStr != null) { 
                    allStr += curStr; 
                } 
                else { 
                    alert("你要导出的表不存在!"); 
                    return; 
                } 
                var fileName = getExcelFileName(); 
                doFileExport(fileName, allStr); 
            } 
            catch (e) { 
                alert("导出发生异常:" + e.name + "->" + e.description + "!"); 
            } 
        } 
        function getTblData(inTbl, inWindow) { 
            var rows = 0; 
            var tblDocument = document; 
            if (!!inWindow && inWindow != "") { 
                if (!document.all(inWindow)) { 
                    return null; 
                } 
                else { 
                    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 += " \t"; 
                            rows -= 1; 
                        } 
                        outStr += curTbl.rows[j].cells[i].innerText + "\t"; 
                        if (curTbl.rows[j].cells[i].colSpan > 1) { 
                            for (var k = 0; k < curTbl.rows[j].cells[i].colSpan - 1; k++) { 
                                outStr += " \t"; 
                            } 
                        } 
                        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(inTbl + "不存在!"); 
            } 
            return outStr; 
        } 
        function getExcelFileName() { 
            var d = new Date(); 
            var curYear = d.getYear(); 
            var curMonth = "" + (d.getMonth() + 1); 
            var curDate = "" + d.getDate(); 
            var curHour = "" + d.getHours(); 
            var curMinute = "" + d.getMinutes(); 
            var curSecond = "" + d.getSeconds(); 
            if (curMonth.length == 1) { 
                curMonth = "0" + curMonth; 
            } 
            if (curDate.length == 1) { 
                curDate = "0" + curDate; 
            } 
            if (curHour.length == 1) { 
                curHour = "0" + curHour; 
            } 
            if (curMinute.length == 1) { 
                curMinute = "0" + curMinute; 
            } 
            if (curSecond.length == 1) { 
                curSecond = "0" + curSecond; 
            } 
            var fileName = "卖场" + "_" + curYear + "年" + curMonth + "月" + curDate + "日" + "_" 
+ curHour + "点" + curMinute + "分" + curSecond + "秒" + ".csv"; 
            return fileName; 
        } 
        function doFileExport(inName, inStr) { 
            var xlsWin = null; 
            if (!!document.all("glbHideFrm")) { 
                xlsWin = glbHideFrm; 
            } 
            else { 
                var width = 6; 
                var height = 4; 
                var openPara = "left=" + (window.screen.width / 2 - width / 2) 
   + ",top=" + (window.screen.height / 2 - height / 2) 
   + ",scrollbars=no,width=" + width + ",height=" + height; 
                xlsWin = window.open("", "_blank", openPara); 
            } 
            xlsWin.document.write(inStr); 
            xlsWin.document.close(); 
            xlsWin.document.execCommand('Saveas', true, inName); 
            xlsWin.close(); 
        }
  </script>
 </HEAD>

 <BODY>
 <table id="toExcel" border="1" bgcolor="#999999">
     <tr>
          <td height="25" align="center" bgcolor="#CCCCCC">姓名</td>
		  <td align="center" bgcolor="#CCCCCC">性别</td>
          <td align="center" bgcolor="#CCCCCC">年龄</td>
          <td align="center" bgcolor="#CCCCCC">地区</td>
          <td align="center" bgcolor="#CCCCCC">工作</td>
    </tr>
          <td align="center" bgcolor="#FFFFFF">黑色头发</td>
	  	  <td align="center" bgcolor="#FFFFFF">男</td>
		  <td align="center" bgcolor="#FFFFFF">99</td>
		  <td align="center" bgcolor="#FFFFFF">北京</td>
		  <td align="center" bgcolor="#FFFFFF">工程师</td>
    </tr>
	</tr>
          <td align="center" bgcolor="#FFFFFF">紫色头发</td>
	  	  <td align="center" bgcolor="#FFFFFF">女</td>
		  <td align="center" bgcolor="#FFFFFF">99</td>
		  <td align="center" bgcolor="#FFFFFF">北京</td>
		  <td align="center" bgcolor="#FFFFFF">工程师</td>
    </tr>
	</tr>
          <td align="center" bgcolor="#FFFFFF">白色头发</td>
	  	  <td align="center" bgcolor="#FFFFFF">男</td>
		  <td align="center" bgcolor="#FFFFFF">79</td>
		  <td align="center" bgcolor="#FFFFFF">北京</td>
		  <td align="center" bgcolor="#FFFFFF">歌手</td>
    </tr>
</table>
  <input type="button" onclick="javascript:toExcel('toExcel',null);" value="导出到EXCEL"> 

 </BODY>
</HTML>

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics