趣味抽奖程序

360影视 2025-01-25 17:28 2

摘要:是否使用了最新版本的浏览器Excel文件格式是否正确网络连接是否正常趣味抽奖程序body {

注意:Excel文件格式要求:

必须包含"姓名"列支持的文件格式:.XLSX, .xls, .csv确保姓名不重复

Q: 为什么上传文件后按钮仍然是灰色的?
A: 请检查Excel文件格式是否正确,确保包含"姓名"列。

Q: 抽奖结果如何查看?
A: 结果会直接显示在页面中央,每行显示5个中奖者。

Q: 中奖结果丢失怎么办?
A: 请及时点击"保存中奖结果"按钮保存结果,避免刷新页面。

Q: 可以重复抽取同一奖项吗?
A: 每个奖项只能抽取一次,如需重新抽奖,请刷新页面重新开始。

技术支持:
如遇到使用问题,请检查:

是否使用了最新版本的浏览器Excel文件格式是否正确网络连接是否正常趣味抽奖程序body {font-family: Arial, sans-serif;background-color: #f0f0f0;display: flex;flex-direction: column;align-items: center;padding: 20px;}.title {font-size: 24px;font-weight: bold;color: #333;margin: 20px 0;}.button-group {display: flex;gap: 10px;margin: 10px 0;}.lottery-button {padding: 10px 20px;font-size: 14px;border: none;border-radius: 5px;cursor: pointer;transition: opacity 0.3s;}.lottery-button:disabled {opacity: 0.5;cursor: not-allowed;}.special {background-color: #ffcc00;color: #333;}.first {background-color: #ff6666;color: #333;}.second {background-color: #66ccff;color: #333;}.save {background-color: #66cc66;color: #333;}.result {font-size: 24px;font-weight: bold;color: #333;margin: 20px 0;text-align: center;min-height: 100px;}.File-input {margin: 20px 0;}.winners-grid {display: grid;grid-template-columns: repeat(5, 1fr);gap: 10px;margin-top: 10px;text-align: center;}.winner-item {background-color: #fff;padding: 5px 10px;border-radius: 4px;box-shadow: 0 2px 4px rgba(0,0,0,0.1);}.prize-title {font-size: 20px;color: #333;margin: 10px 0;grid-column: 1 / -1;text-align: center;}

趣味抽奖程序

抽特等奖(3人)抽一等奖(10人)抽二等奖(20人)保存中奖结果let participants = ;let winners = {"特等奖": ,"一等奖": ,"二等奖": };document.getElementById('fileInput').addEventListener('change', handleFileSelect);function handleFileSelect(event) {const file = event.target.files[0];const reader = new FileReader;reader.onload = function(e) {const data = new Uint8Array(e.target.result);const workbook = XLSX.read(data, {type: 'array'});const firstSheet = workbook.Sheets[workbook.SheetNames[0]];participants = XLSX.utils.sheet_to_json(firstSheet);enableButtons;};reader.readAsArrayBuffer(file);}function enableButtons {document.querySelectorAll('.lottery-button').forEach(button => {button.disabled = false;});}function disableButtons {document.querySelectorAll('.lottery-button').forEach(button => {button.disabled = true;});}function displayWinners(prize, winners) {const resultElement = document.getElementById('result');resultElement.innerHTML = ''; // 清空现有内容// 创建奖项容器const container = document.createElement('div');// 添加奖项标题const titleDiv = document.createElement('div');titleDiv.className = 'prize-title';titleDiv.textContent = `${prize}中奖者:`;container.appendChild(titleDiv);// 创建网格容器const gridDiv = document.createElement('div');gridDiv.className = 'winners-grid';// 添加获奖者winners.forEach(name => {const winnerDiv = document.createElement('div');winnerDiv.className = 'winner-item';winnerDiv.textContent = name;gridDiv.appendChild(winnerDiv);});container.appendChild(gridDiv);resultElement.appendChild(container);}async function startLottery(prize, numWinners) {if (participants.length setTimeout(resolve, 100));}// 抽取获奖者const currentWinners = ;for (let i = 0; i arr.length > 0)) {alert('没有中奖者!');return;}const rows = ;Object.entries(winners).forEach(([prize, names]) => {names.forEach(name => {rows.push([prize, name]);});});const ws = XLSX.utils.aoa_to_sheet([['奖项', '姓名'], ...rows]);const wb = XLSX.utils.book_new;XLSX.utils.book_append_sheet(wb, ws, '中奖结果');XLSX.writeFile(wb, '中奖结果.xlsx');}

来源:果冻柚柚

相关推荐