我现在已经导出一个表格到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;
}