请教大家一个问题,我使用如下JS语句进行EXCEL导出:
       var oXL = new ActiveXObject("Excel.Application"); 
       var oWB = oXL.Workbooks.Add(); 
       var oSheet = oWB.ActiveSheet; 
       var sel=document.body.createTextRange(); 
       sel.moveToElementText(pad); 
       sel.select(); 
       sel.execCommand("Copy"); 
       oSheet.Paste(); 
       oXL.Visible = true; 
请教大家一个问题,如在何在此语句基础上:
1.连同网页中的表格边框一同导入到EXCEL中?
2.导入时自动设置单元格为:自动换行?
3.导入时自动设置单元格字体大小?谢谢大家!!

解决方案 »

  1.   

    html中用css设置外观。用oSheet.PasteSpecial("HTML");粘帖
    <script type="text/javascript">
    function ct(){
      var oXL = new ActiveXObject("Excel.Application"); 
          var oWB = oXL.Workbooks.Add(); 
          var oSheet = oWB.ActiveSheet; 
          var sel=document.body.createTextRange(); 
          sel.moveToElementText(pad); 
          sel.select(); 
          sel.execCommand("Copy"); 
          oSheet.PasteSpecial("HTML"); 
          oXL.Visible = true;
          oXL.Quit();
    }
    </script>
    <input type="button" onclick="ct()" value="转换">
    <table id="pad" style="border:2px solid; cellpadding="2" cellspacing="2">
      <tr>
        <td style="border:2px solid;font-size:32px;width:150px;vertical-align:top;">xxx</td>
        <td style="border:2px solid;" valign="top">xxx</td>
      </tr>
      <tr>
        <td style="border:2px solid;" width="149" valign="top">xxx</td>
        <td style="border:2px solid;" width="149" valign="top">xxx</td>
      </tr>
    </table>
      

  2.   

    多谢hookee兄,
    有个问题是:
    因为我这个表格是插在DIV中(DIV名称是:pad)
    所以,我在使用您提供的代码还是导不出表格线
    请再提示一下
      

  3.   

    以上代码,表格外面套一个div也可以。 可能是要设置每个单元格的style的关系?<div id="pad">
    <table style="border:2px solid; cellpadding="2" cellspacing="2">
      <tr>
        <td style="border:2px solid;font-size:32px;width:150px;vertical-align:top;">xxx</td>
        <td style="border:2px solid;" valign="top">xxx</td>
      </tr>
      <tr>
        <td style="border:2px solid;" width="149" valign="top">xxx</td>
        <td style="border:2px solid;" width="149" valign="top">xxx</td>
      </tr>
    </table>
    </div>
      

  4.   

    不好意思,是我没有说清楚
    情况是这样的:
    HTML中只有一个空白的DIV(名称为:pad),它是通过上次教我的:parent.document.getElementById("pad").innerHTML = document.getElementById("data").innerHTML;从另一个后台的网页中取得的!另外还有一点我已经对这个DIV指定了一个CSS 类(style36)
      

  5.   

    这是我的DIV所用的CSS
    #table1 {
     width: 100%;
     border-top: #000 1px solid;
     border-left: #000 1px solid;
     
    }
    #table1 td {
       
    border-right-width: 1px;
    border-bottom-width: 1px;
    border-right-style: solid;
    border-bottom-style: solid;
    border-right-color: #333333;
    border-bottom-color: #333333;
    }
      

  6.   

    谢谢Hookee兄,是我弄错了,刚仔细看了一下,是我表格边框没有边框宽度(还是0).所以导不出来!
    刚重新设置了一下,已经OK了,Hookee的代码相当漂亮
      

  7.   

    我测试下来也可以,单元格带边框,我是本页生成表格,用的是excel2003
    实在不行的话只有选定范围,然后设置边框了
    rng.Borders.Item(边框参数).LineStyle = 1;几个常用参数
    var xlContinuous = 1
    var xlThin = 2
    var xlDiagonalDown = 5
    var xlDiagonalUp = 6
    var xlEdgeLeft = 7  边框参数
    var xlEdgeTop = 8   边框参数
    var xlEdgeBottom = 9 边框参数
    var xlEdgeRight = 10 边框参数