4

大家好..我正在制作一个页面,我必须从用户那里获取 excel 文件并读取该文件..但我所知道的就是通过给出其地址来读取特定文件..为此我使用的是 javascript 和 html。 .这是我读取excel文件的代码

        <input type="button" id="btnSubmit" onclick="readdata(1, 2)" value="Submit" />

                <script>
            function readdata(x,y) {


       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");
        var data = excel_sheet.Cells(x, y).Value;
        //alert(data);
        drawWithexcelValue(data);
    }
    catch (ex) {
        alert(ex);
    }
    //    return data;


     }
     </script>

这是我通过定义特定excel文件的路径来读取excel文件的代码......现在我要做的是从用户那里获取excel文件......请大家帮忙......

任何通过代码提供的帮助都将不胜感激..

有人请帮帮我

4

1 回答 1

0

正如@Alex K 提到的,这仅适用于 IE。这是一个可能的解决方案:

将所有 Excel 文件放在同一个文件夹中。例如:(C:\sheets\ 编辑:我认为这是最简单的解决方案,因为我不知道如何通过 javascript 获取文件的完整和真实路径)

现在将您的代码更改为以下内容:

<input type="file" id='excelFile' />
<button id='loadExcel'>Load Excel File</button>

<script type="text/javascript">
    var EXCELDIR = "C:\\sheets\\";
    var loadExcel = document.getElementById('loadExcel');
    loadExcel.onclick = function() {
        var filepath = EXCELDIR + document.getElementById('excelFile').value.split('\\')[2];
        readdata(1,2, filepath);
    }

    function readdata(x,y,filepath) {
       try {
        var excel = new ActiveXObject("Excel.Application");
        excel.Visible = false;
        var excel_file = excel.Workbooks.Open(filepath);                       
               alert(excel_file.worksheets.count);
        var excel_sheet = excel_file.Worksheets("Sheet1");
        var data = excel_sheet.Cells(x, y).Value;
        //alert(data);
        drawWithexcelValue(data);
        }
        catch (ex) {
            alert(ex);
        }
        //    return data;


    }
</script>

免责声明:因为我在 Mac 上,所以我没有检查代码,希望这有效。

于 2013-06-25T16:51:54.747 回答