js随机抽人员比赛并导出为excel

来源:互联网 发布:中国期刊数据库工业c 编辑:程序博客网 时间:2024/05/16 10:41

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<html>
<head>
<title> 2010年无线物流事业部预演</title>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<script language="javascript">
 
// global variables
var timer;
var flag = new Array(100);
var existingnum = new Array(100);
var clickTimes = 0;
var randnum;
var cellnum =1;
var mobile = new Array();
// set data here!!
mobile[0]='张三';
mobile[1]='范杰';
mobile[2]='赵杰';
mobile[3]='李路';
mobile[4]='张居';
mobile[5]='闫保';
mobile[6]='李小丽';
mobile[7]='刘备';
mobile[8]='聂军';
mobile[9]='段富';
mobile[10]='王飞';
mobile[11]='李雷';
mobile[12]='饶育凌';
mobile[13]='段誉';
mobile[14]='彭辉';
mobile[15]='姚富';


var num = mobile.length-1;
function getRandNum(){
document.getElementById("result").value = mobile[GetRnd(0,num)];

}
function start(){
clearInterval(timer);
timer = setInterval('change()',50);
}
function ok(){
clearInterval(timer);
}
function GetRnd(min,max){
 
randnum = parseInt(Math.random()*(max-min+1));
return randnum;
}
function setTimer(){
 if(mobile.length!=0){
 timer = setInterval("getRandNum();",10);
 document.getElementById("start").disabled = true;
 document.getElementById("end").disabled = false;
 }else{
 alert("人员已抽完!");
 method1('tableExcel');
 }
}
function clearTimer(){
 noDupNum();
 clearInterval(timer);
 document.getElementById("start").disabled = false;
 document.getElementById("end").disabled = true;
 
}
function noDupNum(){
 // to remove the selected mobile phone number
 mobile.removeEleAt(randnum);
 
 // to reorganize the mobile number array!!
 var o = 0;
 for(p=0; p<mobile.length;p++){
 if(typeof mobile[p]!="undefined"){
 mobile[o] = mobile[p];
 o++;
 }
 }
 num = mobile.length-1;
 }
// method to remove the element in the array
Array.prototype.removeEleAt = function(dx)
 {
 if(isNaN(dx)||dx>this.length){return false;}
 this.splice(dx,1);
 }
// set mobile phone numbers to the table cell
function setValues(){
 document.getElementById(cellnum).innerHTML = document.getElementById("result").value ;
 cellnum++;
 }
</script>

<SCRIPT LANGUAGE="javascript"> 
function method1(tableid) {//整个表格拷贝到EXCEL中  
    var curTbl = document.getElementById(tableid);  
    var oXL = new ActiveXObject("Excel.Application");  
    //创建AX对象excel  
    var oWB = oXL.Workbooks.Add();  
    //获取workbook对象  
    var oSheet = oWB.ActiveSheet;  
    //激活当前sheet  
    var sel = document.body.createTextRange();  
    sel.moveToElementText(curTbl);  
    //把表格中的内容移到TextRange中  
    sel.select();  
    //全选TextRange中内容  
    sel.execCommand("Copy");  
    //复制TextRange中内容   
    oSheet.Paste();  
    //粘贴到活动的EXCEL中        
    oXL.Visible = true;  
    //设置excel可见属性  
}  
 
function method2(tableid) //读取表格中每个单元到EXCEL中  
{  
    var curTbl = document.getElementById(tableid);  
    var oXL = new ActiveXObject("Excel.Application");  
    //创建AX对象excel  
    var oWB = oXL.Workbooks.Add();  
    //获取workbook对象  
    var oSheet = oWB.ActiveSheet;  
    //激活当前sheet  
    var Lenr = curTbl.rows.length;  
    //取得表格行数  
    for (i = 0; i < Lenr; i++)  
    {  
        var Lenc = curTbl.rows(i).cells.length;  
        //取得每行的列数  
        for (j = 0; j < Lenc; j++)  
        {  
            oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).innerText;  
            //赋值  
        }  
    }  
    oXL.Visible = true;  
    //设置excel可见属性  
}  
 
function getXlsFromTbl(inTblId, inWindow) {  
    try {  
        var allStr = "";  
        var curStr = "";  
        //alert("getXlsFromTbl");  
        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;  
    //alert("getTblData is " + inWindow);  
    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++) {  
            //alert("j is " + j);  
            for (var i = 0; i < curTbl.rows[j].cells.length; i++) {  
                //alert("i is " + 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 = "leo_zhang" + "_" + curYear + curMonth + curDate + "_" + curHour + curMinute + curSecond + ".csv";  
    //alert(fileName);  
    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>
<center>
<div> </div>
<div id="main">
 <div>
 <h1>抽中人员</h1>
 
 <p>
 <input id="result" type="text" size="30" style="height:130px;width:800px;border:2px solid red;font-size:120;" readonly/></p>
 <p>
 <input id="start" type="button" value="开始" style="border: 1px solid; border-color: #aaa 000 #000 #aaa;width:4em; background: #fc0;" onclick="setTimer()" />
 <input id="end" type="button" value="停" style="border: 1px solid; border-color: #aaa 000 #000 #aaa;width:4em; background: #fc0;"onclick="clearTimer();setValues();" disabled/>
 <input id="outprint" type="button" value="导出excel" style="border: 1px solid; border-color: #aaa 000 #000 #aaa;width:8em; background: fc0;"onclick="method1('tableExcel');"/>
</p>

 <table id="tableExcel" width="961" height="102" border="1">
 <p><strong>事业部无线物流演讲排序表</strong></p>
 <tr>
 <td align="center" >12月1日</td>
 <td align="center" id="1"></td>
 <td align="center" >VS</td>
 <td align="center" id="2"></td>
  </tr>
  <tr>
 <td align="center" >12月2日</td>
 <td align="center" id="3"></td>
 <td align="center" >VS</td>
 <td align="center" id="4"></td>
  </tr>
 <tr>
 <td align="center" >12月3日</td>
 <td align="center" id="5"></td>
 <td align="center" >VS</td>
 <td align="center" id="6"></td>
  </tr>
  <tr>
 <td align="center" >12月4日</td>
 <td align="center" id="7"></td>
 <td align="center" >VS</td>
 <td align="center" id="8"></td>
  </tr>
  <tr>
 <td align="center" >12月6日</td>
 <td align="center" id="9"></td>
 <td align="center" >VS</td>
 <td align="center" id="10"></td>
  </tr>
   <tr>
 <td align="center" >12月7日</td>
 <td align="center" id="11"></td>
 <td align="center" >VS</td>
 <td align="center" id="12"></td>
  </tr>
   <tr>
 <td align="center" >12月8日</td>
 <td align="center" id="13"></td>
 <td align="center" >VS</td>
 <td align="center" id="14"></td>
  </tr>
   <tr>
 <td align="center" >12月9日</td>
 <td align="center" id="15"></td>
 <td align="center" >VS</td>
 <td align="center" id="16"></td>
  </tr>
 </table>
 <p> </p>
 <p> </p>
 <p> </p>
 </div>
</div>
<center>
 </body>
</html>

原创粉丝点击