如何在没有按钮的情况下在javascript中停止setinterval函数

时间:2013-07-22 18:59:00

标签: javascript excel

我正在通过javascript阅读Excel文件..

<button onclick="myStopFunction()">Stop Meter</button>
        var myVar=setInterval(function(){readdata(1,2)},2000);
function myStopFunction()
{
    clearInterval(myVar);
}

用于读取Excel文件的代码

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:\\Test1.xls");// alert(excel_file.worksheets.count);
            var excel_sheet = excel_file.Worksheets("Sheet1");
            var data = excel_sheet.Cells(x, y).Value;
            //alert(data);
            drawWithexcelValue(data);

            xVal = xVal + 1;

            excel.Application.Quit();
        }

        catch (ex) {
            alert(ex);
        }
    }

现在我想以这样的方式摆脱停止计时器,当excel值变为空白或为空时它将退出..如何做到这一点 我尝试过这样的事情

 if(xVal==null& xVal=="")
    {
    clearInterval(myVar);
    }

但我没有成功

2 个答案:

答案 0 :(得分:3)

应该是:

if(xVal==null || xVal=="")
{
    clearInterval(myVar);
}

&binary AND,您需要boolean OR,即||

答案 1 :(得分:3)

试试这个:

xVal = xVal + 1;
if (data === null || data === '') {
   myStopFunction();
}
excel.Application.Quit();

即。在if(){}xVal...行之间添加excel...

实际上,如果在data行之前drawWithexcelValue(data);中有值,则看起来需要检查,除非您不想“绘制”空/空值。