`
free_xiang
  • 浏览: 52690 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

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

    博客分类:
  • web
阅读更多

<!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>

分享到:
评论

相关推荐

    纯js+html实现羽毛球比赛抽签功能,生成对阵图,并导出PDF和Excel文件

    1.纯js+html实现抽签功能,导入excel文件,得到抽签结果,将抽签table导出为PDF(html2canvas+jsPdf)、Excel文件(js-xlsx,实现合并单元格,并设置单元格样式 字体、宽度、居中显示) 2.导入excel文件,生成小组赛...

    tableExport.js excel乱码解决方法

    自从上次用bootstrap table就一直没有解决导出excel的关题,网上找到的那更改tableExport.js和jquery.base64.js的方法虽然可以正常导出,但中文依旧乱码... 解决方法终归是有的....现将文件分享给大家. 里面有table...

    js网页表格数据导出excel文件代码.zip

    这个压缩包"js网页表格数据导出excel文件代码.zip"显然包含了实现这一功能的JavaScript代码示例。JavaScript(简称JS)是一种广泛用于客户端Web开发的脚本语言,它可以方便地与HTML和CSS结合,实现动态交互和数据...

    Facebook模拟登录爬取群组成员信息并导出excel

    在本项目中,我们主要探讨如何使用Java进行Facebook模拟登录,并爬取群组成员信息,最后将这些数据导出到Excel文件中。这个任务涉及到网络爬虫技术、模拟登录、数据解析以及文件导出等多个方面的知识。以下是相关...

    手机号抽奖代码,可保存导出

    描述中提到的“可保存导出表格”意味着抽奖结果可以被保存并导出为电子表格格式,如CSV或Excel,方便后续的数据处理和记录。这样,组织者不仅可以实时查看当前的抽奖状态,还可以在活动结束后整理和分析数据。兼容的...

    Python写的一个比赛抽签软件

    在这个抽签软件中,Python负责处理逻辑,如读取Excel文件中的参赛者信息、生成随机配对或分组结果,并将这些结果显示出来。Python的`pandas`库是一个强大的数据处理工具,可以方便地读写Excel文件,这使得用户能够...

    对阵图编辑软件

    对阵图编辑软件是一种专为组织各类比赛而设计的实用工具,它可以帮助用户快速、便捷地创建和管理比赛的对阵情况。此类软件的核心功能通常包括随机对阵生成、批量参赛者管理和自动编排等,以满足不同规模比赛的需求。...

    JS编写的随机点名系统

    总的来说,"JS编写的随机点名系统"是一个结合了JavaScript编程、前端开发技术和教育应用场景的实例,它体现了JavaScript在创建互动、实用工具方面的潜力,为教师带来了便利,也为学习Web开发的学生提供了一个有趣的...

    纯前端抽奖程序(打开即用免安装)

    6. 读取和写入数据的脚本:用于导入和导出名单的JavaScript函数。 总的来说,纯前端抽奖程序通过简洁的设计和高效的技术实现了便捷的使用体验,无论是在小型活动还是大型活动中,都能为抽奖环节提供可靠的支持。...

    10000 个中英文随机昵称

    5. **数据处理**:对于这样的数据集,开发人员或测试人员可以利用编程语言(如Python或JavaScript)的库来读取和处理这些数据,进行批量创建用户账号、模拟用户行为或进行其他数据分析任务。 6. **隐私与安全**:...

    随机抽签系统

    6. 结果记录与导出:抽签完成后,结果可能需要保存并导出为Excel或其他格式,供后续参考。这需要实现文件写入功能,以及对导出格式的支持,例如使用pandas的to_excel方法或Apache POI的写入功能。 7. 安全性与隐私...

    抽奖小程序

    抽奖小程序是一种简洁而实用的工具,常用于各类活动或公司年会中,为参与者提供一种随机抽取幸运儿的方式。在单机版的抽奖小程序中,无需网络连接,只需在本地运行,就能实现公平公正的抽奖过程。下面我们将深入探讨...

    公司年会大屏幕抽奖

    新增:签到用户列表导出excel 新增:增加更新日志按钮,最新更新一目了然 2016.8.18 更新:优化程序,降低误操作可能性 更新:更新拍拍乐,修复了一些小bug 2016.8.18 更新:修改了所有主题的3d签到按钮 更新:普通签到...

    dianping_0207.rar_python excel _python大众点评_python爬数据_大众点评_爬数据

    在本项目中,我们主要关注的是使用Python进行网络爬虫,以获取大众点评的数据,并将这些数据导出为Excel文件。这是一个典型的数据抓取和处理流程,涉及到的技术主要包括Python编程、网络请求、HTML解析以及数据存储...

    基于尚筹网的随机点名考勤系统设计源码

    该项目是采用尚筹网作为核心框架开发的课堂随机点名考勤系统源码,共包含485个文件,涵盖105个XML配置文件、55个...系统功能包括Excel数据导入导出、随机点名功能,并实现了基于特定权限管理框架的异常映射权限管理。

    基于PHP的excel通用成绩查询系统 PC网页版.zip

    - 数据导出:允许用户将查询结果导出为新的Excel或PDF文件。 - 统计分析:提供成绩平均分、排名、及格率等统计信息。 为了确保系统的安全性和稳定性,开发者还需要关注以下几点: - 输入验证:对用户输入的数据进行...

    晚会抽奖程序

    这可能涉及到文件操作,如读取CSV或Excel文件,或者使用数据库系统如SQLite进行数据存储。数据导入导出功能可以方便地更新和备份抽奖名单。 为了增强互动性,抽奖程序可能包含动画效果,如旋转的抽奖盘、闪烁的中奖...

    模拟机选双色球(html+js实现)

    用html+css+javascript实现的模拟机选双色球,通过定时器模拟选出一组或多组号码,可以将选择的号码进行排序,添加到列表中,导出excel,分页等操作,除此外还实现了图片的上传预览等功能......

    matlab导入excel代码-epidmic:流行的

    设计统计时间为出现病患开始有效时间50s,在统计结束时,可将保存每秒感染人数的数组导出至excel,并使用matlab进行小规模的预测。但由于时间较为紧迫,并未实现。 作品来源 作品参考自github地址 题目假设 1.范围为...

    程序天下:JavaScript实例自学手册

    1.21 用JavaScript随机修改页面的标题 1.22 判断网页加载完毕 1.23 嵌入网页的播放器 1.24 设置指定网页为主页 1.25 使用JavaScript传递页面参数 1.26 页面被冻结 第 2章 按钮特效 2.1 页面刷新按钮 2.2 按回车调用...

Global site tag (gtag.js) - Google Analytics