从目录中读取excel文件,而不是从您提供的地址中读取

我正在使用HTML5和JavaScript。 我想读取用户从目录中select的Excel文件(使用文件对话框),但我所知道的是通过给定的path读取Excel文件:

function readdata(y,x) { 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; } 

这是我必须阅读的Excel文件。 任何人都可以帮助我通过目录来阅读文件,或者没有给出文件的path。 我也想知道如何显示输出。

提前感谢

尝试下面的代码,这是一个黑客和它似乎与IE7的工作。 但是,它不会与其他浏览器一起工作,因为它们不会显示文件path。 其他浏览器也将永远不能显示ActiveXObject(Excel)。

 <!DOCTYPE html> <html> <head> <body> <div id="divHidden" style="visibility: hidden; width: 0px; height: 0px"> <input type=file id="fileInput"> </div> <input type=button value="click here to get a file" onclick="readdata(1,1);"> <script language=javascript> function readdata(y,x) { // Use the <input type='file'...> object to get a filename without showing the object. document.all["fileInput"].click(); var fileName = document.all["fileInput"].value; try { var excel = new ActiveXObject("Excel.Application"); excel.Visible = false; var excel_file = excel.Workbooks.Open(fileName); var excel_sheet = excel_file.Worksheets("Sheet1"); // var data = excel_sheet.Cells(x, y).Value; var data; for (; excel_sheet.Cells(x, y).Value.length > 0; x++){ data[i][0] = excel_sheet.Cells(x, y).Value; data[i][1] = excel_sheet.Cells(x, y+1).Value; } drawWithexcelValue(data); } catch (ex) { alert(ex); } // This will show the data. alert(data); } </script> </body> </html>