2

我知道这类问题不属于这里,但这是我得到答案和解决方案的最后希望。我制作了一个 html 和 javascript 程序来通过 Active X 读取 excel 文件,但问题是每当我运行该页面时它运行良好,但是当我关闭它时,excel 文件保持打开状态,如果我运行此页面 100 次然后关闭然后会有100个未关闭的excel文件导致我的电脑变慢。第二个问题是,当我尝试打开该应用程序正在使用的那个 excel 文件时(当我尝试打开 excel 文件时,该应用程序当前没有运行)它没有打开而没有给出错误,一个 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;

        }

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

这是我读取excel文件的代码。

4

1 回答 1

1

尝试

data = null;
excel_sheet = null;
excel_file.Close();    // important
excel_file = null;
excel.Quit();
excel = null;

以这个(反向)顺序。这(几乎)等同于Nothing在 VBA 中设置这些值。

于 2013-07-22T18:41:35.473 回答