`

javascript导出网页中的表格到EXCEL

阅读更多

我现在已经导出一个表格到EXCEL中了,如果网页中有多个表格,要依次导入到同一个SHEET中的话,就是要考虑EXCEL的定位问题.因为表格比较复杂,有合并行的和合并列的,所以我选用COPY到网页中的方法,但是都是从一个激活的SHEET的第一行第一列开始paste的,请问下,多个表格如何操作,也就是,粘贴的时候,怎么选择开始的行和列?(以下是我用的方法:)

function AllAreaExcel() 
{
  var oXL = new ActiveXObject("Excel.Application"); 
  var oWB = oXL.Workbooks.Add(); 
  var oSheet = oWB.ActiveSheet;  
  var sel=document.body.createTextRange();
  sel.moveToElementText(tableId);//tableId是要导出表格的ID
  sel.select();
  sel.execCommand("Copy"); 
  //这里是否可以定位osheet的开始位置? 知道的人指导下
  oSheet.Paste();
  oXL.Visible = true;
  
}

 

 

 

 方法 2:

 

function printExcel(id){
			//将数据导出到Excel
			try 
			{
				var oXL = new ActiveXObject("Excel.Application");
	    	}
			catch(e)
			{
				alert("要打印该表,您必须降低ActiveX控件的安全级别,并启用全部的ActiveX控件");
				return ;
			}		
			oXL.visible = true;			
			var oWB = oXL.Workbooks.Add(); 
  			var oSheet = oWB.ActiveSheet; 
  			var tb = document.getElementById(id);
 		 	var Lenr = id.rows.length;
  			for (i=0;i<Lenr;i++) { 
   				var Lenc = id.rows(i).cells.length; 
   				for (j=0;j<Lenc;j++) { 
    				oSheet.Cells(i+1,j+1).value = id.rows(i).cells(j).innerText; 
   				} 
  			} 
  			var now=new Date();			
			oSheet.Cells(Lenr+2,3).Value="查询时间:"+now.toLocaleString();			
			oSheet.Cells(Lenr+2,6).Value="操作员:"+document.getElementById("userName").value;
			
			oSheet.Cells(Lenr+3,3).Value="部门:"+document.getElementById("deptName").value;
			oSheet.Cells(Lenr+3,6).Value="组:"+document.getElementById("userGroupName").value;
		}

  

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics