原生js获取execl里面的值 主要使用ActiveXObject
今天一个程序员给了一个excel表,里面有一百多条数据,叫我一个一个数据的复制到系相应的函数里面比如 put("gaga1","gaga2"),这样一句话,要我复制一百多遍,fuck。。。我就说你自己用java读取不就可以啦!他就说用java要运行半个小时以上,我就心里想fuck,是你不怎么懂java吧!此时自己心中的几百万头草泥马在奔腾!!!!!!
于是自己就去找了一个js方法来读取excel里面的数据,加以修改都不用半个小时!真是fuck!
execl里面的数据大概是这样的:
实现输出的效果是:
js源码:
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 len = 100; // 要取到的多少条数据 var oSheet = oWB.ActiveSheet; try{ for(var i=1;i<= len;i++){ tempStr+=("put(\""+oSheet.Cells(i,1).value+"\",\""+oSheet.Cells(i,2).value+"\");")+"<br>"; // 1和2分别代表第一列和第二列 } }catch(e){ document.all.txtArea.innerHTML = tempStr; } document.all.txtArea.innerHTML = tempStr; oXL.Quit(); CollectGarbage(); }
html源码:
<input type="file" id="upfile" /><input type="button" onclick="readThis();" value="读取"> <div id="txtArea" style="width:500px;height:500px;"></div>
因为 ActiveXObject 只有IE支持 所以运行的时候只能使用IE来运行,目前想到就此方法了!