这是我一个同学向我提的问题。为了方便,怎么让一个excel文件的数据填到表单里去。
由于是要填充到原网页,我们只能采用在浏览器控制台上利用js脚本动态添加的方法。
js读取excel的方法:
var tempStr = "";
var filePath= "D:\a.xlsx";
var oXL = new ActiveXObject("Excel.application");
var oWB = oXL.Workbooks.open(filePath);
oWB.worksheets(1).select();
var oSheet = oWB.ActiveSheet;
try{
alert(oSheet.Cells(1,1).value);
}
catch(e) {
document.all.txtArea.value = tempStr;
}
document.all.txtArea.value = tempStr; oXL.Quit();
CollectGarbage();
以上只是随便的读取一个excel文件然后alert一下。
这里就遇到了一个问题,chrome浏览器不支持创建activeX对象,网上搜了一下,说ie是可以的,于是转到ie,ie需要进行安全设置才能创建activeX对象,在ie的设置-internet选项-安全里启用那个允许未标记为安全的activeX对象运行。然后测试,确实是可以创建对象并读取excel文件里的值了。
然后读取到值之后就可以把值用js填到表单里了。
$('[name=id]').val('localpc');
$('[name=pwd]').val('127.0.0.1');
这里的name是表单里控件的name,val里设置读取到的值。
这样就大功告成了。