2017-08-28 26 views
0

我有一個簡單的輸入表單,您可以鍵入6個數字,當您單擊按鈕時,JavaScript將檢查Excel文檔,如果您輸入的數字匹配一行。如果是的話,你贏了,如果不是你鬆了。JavaScript檢查excel文件的匹配號碼

我不能鍛鍊如何檢查電子表格來查詢每一行看到的是數字匹配。

在文件列c到h有6個數字。

如何更改我的代碼以檢查此文檔?

請參閱下面的代碼。

的Javascript

var lotteryNumbers = alasql('SELECT * FROM XLSX("results")'); 

function EnterNumber() 
{ 
    var person = prompt("Please enter your raffle number"); 

    if(person != null) 
    { 
     checkIfYouHaveWinningNumber(person); 
    } 
} 

function checkIfYouHaveWinningNumber(number) 
{ 
    if(contains(number)) 
    { 
     alert("Congratulation you won - " + number); 
    } 
    else 
    { 
     alert("You lose - " + number); 
    } 
} 

function contains(number) 
{ 
    for(var i = 0;i < lotteryNumbers.length;i++) 
    { 
     if(lotteryNumbers[i] == number) 
     { 
      return true; 
     } 
    } 
    return false; 
} 
+0

你最好能看到ALASQL查詢文檔添加條件,而不是循環 – Garfield

回答

0

試試這個 - ALASQL具有很好的查詢功能

如下面的例子可能是helful查詢表

https://jsfiddle.net/gt2osvha/

console.clear() 

var data = [{a:1,b:10}, {a:21,b:20}, {a:111,b:30}]; 
var num = window.prompt(); 
if(num) { 
    var q = "SELECT a FROM ? WHERE a=" + num; 
    if(alasql(q,[data]).length > 0){ 
     alert("you won"); 
    } else { 
    alert("lost"); 
    } 
} 
+0

嗯,謝謝生病嘗試實現這個 – Beep

0

VAR的查詢= SELECT * FROM XLSX( 「結果」) 這個查詢會給你2-d陣列,即行和列的值,如果你的號碼是第一柱,然後

現在使用下列內容:

function contains(number) 
{ 
    for(var i = 0;i < lotteryNumbers.length;i++) 
    { 
     if(lotteryNumbers[1][i] == number) 
     { 
      return true; 
     } 
    } 
    return false; 
} 
+0

對不起林不知道我的理解。我需要看看所有的行,看看是否colum c到h的數字匹配用戶輸入的數字 – Beep

+0

然後通過我和j循環迭代它 –