如何从用户定义的Excel文件使用JavaScript进行input

你好家伙..我正在制作一个页面,我必须从用户采取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文件的path来阅读Excel文件的代码…现在我要做的就是从用户.. Excel的Excel文件请帮助..

通过代码的任何forms的帮助将非常感激..

有人请帮助我

正如@Alex K提到的,这只会在IE中起作用。 这里可能的解决scheme:

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

现在把你的代码改成这样:

 <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上,希望这个工程。