2013-07-19 26 views
0

我使用HTML5和javascript..i有一些代碼在我讀從Excel文件..here一些值碼如何在JavaScript設置

var xVal = 1; 
var yVal = 2 

function readdata(x,y) { 
    x = xVal; 
    y = yVal; 
    try { 
     var excel = new ActiveXObject("Excel.Application"); 
     excel.Visible = false; 
     var excel_file = excel.Workbooks.Open("D:\\Test.xls"); 
     //alert(excel_file.worksheets.count); 
     var excel_sheet = excel_file.Worksheets("Sheet1"); 

    for(i=0;i<5;i++) 
    { 
     var data = excel_sheet.Cells(i,2).Value; 
     drawWithexcelValue(data); 
     }   
} 
catch (ex) { 
    alert(ex); 
}   

的時間間隔,這是我的代碼閱讀Excel文件...當我運行它給出了一個錯誤預計「;」..我不知道我在哪裏保持;

我們有for循環來評估下一個值...我想知道如何給每個執行之間的時間間隔,說它會在採取下一個值之前停止特定時間..其次 我硬編碼值i < 5; ..我想知道是否有任何功能,我可以讀取完整的Excel文件...

+3

如果您忘記粘貼該函數,您會錯過一個結尾'}'來關閉該函數。你也沒有在for循環中聲明'i',這使得它成爲一個可能產生後果的全局變量。除此之外,我沒有看到任何錯誤,但問題可能在函數'drawWithexcelValue',你沒有透露 –

+0

有沒有問題,draWithexcelValue它運行良好..我認爲for循環是問題 – user2529216

+0

相當肯定你錯過了一個右括號 –

回答

0

你是如何定義「完整文件」? Excel有很多可能的行,我想你想要的是一個循環,當你敲一個空行時結束。

while(1) { 
    var data = excel_sheet.Cells(i,2).Value; 
    if(data === ''){ // or undefined? 
     break; 
    } else { 
     drawWithexcelValue(data); 
    } 
} 
+0

先生我可以問爲什麼你用1在..而我說據說你的代碼不工作..雖然我intrested在這種方式..請更新您的代碼 – user2529216

+0

'while(1)'在說'while(true)',即無限期地做這件事,直到達到'break'。我認爲代碼需要我在else塊的某處增加。 – Joe

+0

@ user2529216因爲這是在JavaScript中運行,所以最好使用'if(!data)'來獲取任何非* falsy *值。但是,我希望Excel爲空單元格返回空字符串''。 –

0

你還沒說什麼行創建了錯誤,但您會收到特定的錯誤信息顯示此行:

var yVal = 2 

一個缺少在最後一個分號。 JavaScript語句以分號結束。這通常不會產生錯誤,除非您使用的是use strict

您可以調查JavaScript的setInterval來創建延遲(s)..一旦你有當前的代碼工作。