你好.. 我正在制作一个页面,其中我必须从用户获取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文件。请帮助..
任何通过代码提供的帮助都会非常感激。
有人请帮帮我答案 0 :(得分: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上,希望这可行。