function ExportExcel() 
        {
             var oXL = new ActiveXObject("Excel.Application"); 
             var oWB = oXL.Workbooks.Add(); 
             var oSheet = oWB.ActiveSheet;  
             var sel=document.body.createTextRange();
             sel.moveToElementText(table1);
             sel.select();
             sel.execCommand("Copy");
             oSheet.Paste();            
             oXL.Visible = true;
        }
页面中有2个或多个表格,ID为table1,table2上面的方法可以将table1导入到excel中,请问如何也将table2也导入到同一个excel中,
并位于2个Sheet中,table1在Sheet1中,table2在Sheet2中,
同时可以对Sheet进行命名

解决方案 »

  1.   

            function ExportExcel() 
            {
                 var oXL = new ActiveXObject("Excel.Application"); 
                 var oWB = oXL.Workbooks.Add(); 
                 var oSheet1 = oWB.ActiveSheet;  
                 oSheet1.Name=“表1”;
                 var sel=document.body.createTextRange();
                 sel.moveToElementText(table1);
                 sel.select();
                 sel.execCommand("Copy");
                 oSheet1.Paste();            
                 oXL.Visible = true;            var oSheet2 = oWB.ActiveSheet;  
                 oSheet2.Name=“表2”;
                 sel.moveToElementText(table2);
                 sel.select();
                 sel.execCommand("Copy");
                 oSheet1.Paste();            
                 oXL.Visible = true;
            }
      

  2.   


    function method1(tableid) {//整个表格拷贝到EXCEL中 
        var curTbl = document.getElementById(tableid); 
         var oXL = new ActiveXObject("Excel.Application"); 
         //创建 AX对象excel 
         var oWB = oXL.Workbooks.Add(); 
         //获取 workbook对象 
             var oSheet = oWB.ActiveSheet; 
         //激活当前sheet 
         var sel = document.body.createTextRange(); 
         sel.moveToElementText(curTbl); 
         //把表格中的内容移到TextRange中 
         sel.select(); 
         //全选 TextRange中内容 
         sel.execCommand("Copy"); 
         //复制 TextRange中内容  
         oSheet.Paste(); 
         //粘贴到活动的EXCEL中       
         oXL.Visible = true; 
         //设置 excel可见属性 
     } 
      

  3.   

    1楼的不行啊,只能导出table2的内容,覆盖点了table1按照3楼的注释,var oSheet = oWB.ActiveSheet; 这是激活当前的sheet,应该就覆盖掉,那么如何新建一个sheet?
      

  4.   

    搞定,导出4个表格到4个sheet测试通过function ExportExcel() 
            {
                 var oXL = new ActiveXObject("Excel.Application"); 
                 var oWB = oXL.Workbooks.Add(); 
                 oWB.Worksheets.Add();//默认为3个sheet,执行此句添加一个
                 var oSheet1 = oWB.Worksheets(1);  
                 oSheet1.Name="表1";
                 var sel=document.body.createTextRange();
                 sel.moveToElementText(table1);
                 sel.select();
                 sel.execCommand("Copy");
                 oSheet1.Paste();            
                
                 var oSheet2 = oWB.Worksheets(2);  
                 oSheet2.Name="表2";
                 sel.moveToElementText(table2);
                 sel.select();
                 sel.execCommand("Copy");
                 oSheet2.Paste();  
                 
                 var oSheet3 = oWB.Worksheets(3);  
                 oSheet3.Name="表3";
                 sel.moveToElementText(table2);
                 sel.select();
                 sel.execCommand("Copy");
                 oSheet3.Paste(); 
                 
                 var oSheet4 = oWB.Worksheets(4);  
                 oSheet4.Name="表4";
                 sel.moveToElementText(table2);
                 sel.select();
                 sel.execCommand("Copy");
                 oSheet4.Paste();  
                          
                 oXL.Visible = true;
            }