本文介绍在Internet Explorer浏览器中,利用JavaScript的ActiveXObject对象调用Excel应用程序接口,从而读取本地Excel文件数据的方法。代码展示了如何打开工作簿、遍历指定单元格并提取内容,同时强调了该方法对IE安全级别设置的要求及兼容性问题。
IE环境下通过ActiveXObject读取本地Excel数据的实现
具体实现代码如下:
<script>
function readThis(){
var tempStr = "";
var filePath= document.all.upfile.value;
var oXL = new ActiveXObject("Excel.application");
var oWB = oXL.Workbooks.open(filePath);
oWB.worksheets(1).select();
var oSheet = oWB.ActiveSheet;
try{
for(var i=2;i<46;i++){
if(oSheet.Cells(i,2).value =="null" || oSheet.Cells(i,3).value =="null" )
break;
var a = oSheet.Cells(i,2).value.toString()=="undefined"?"":oSheet.Cells(i,2).value;
tempStr+=(" "+oSheet.Cells(i,2).value+
" "+oSheet.Cells(i,3).value+
" "+oSheet.Cells(i,4).value+
" "+oSheet.Cells(i,5).value+
" "+oSheet.Cells(i,6).value+"\n");
}
}catch(e){
//alert(e);
document.all.txtArea.value = tempStr;
}
document.all.txtArea.value = tempStr;
oXL.Quit();
CollectGarbage();
}
</script>
<html>
<input type="file" id="upfile" /><input type="button" onclick="readThis();" value="读取">
<br>
<textarea id="txtArea" cols=50 rows=10></textarea>
</html> 上述代码需要在IE浏览器的安全级别设置为低时才能正常运行,此处展示主要供学习相关技术原理参考。