日期:2014-05-16  浏览次数:20323 次

原生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来运行,目前想到就此方法了!