我有这么个功能,页面上有个查询按钮,查询出人员的一些信息,我要点击“导出”把这些信息,导入到excel中。
我的思路是把结果“复制”,然后在Excel中“粘贴”,我现在是不知道我哪不对,求各位大牛帮帮忙!
<input type="button" value="页面导出" iconClass="fixIcon" onclick="toExcle('ygxxTable')"> js是:
 //页面导出
        function toExcle(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可见属性


 
}

解决方案 »

  1.   

    怎么没人呢  ~~~~(>_<)~~~~ 
      

  2.   

    应该不行,这个得结合后端来做,比如PHP或.NET之类,你在前端已经能编辑数据了,可以通过ajax实时将数据组织到数据库或是一些xml里,然后导出时再从后端生成一个Excel文件.完了就提示下载就好.
      

  3.   

    你没写id=ygxxTable这个的表格吧,我这个可以,IE
    <html> 
    <body> 
    <script type="text/javascript"> 
    function toExcle(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可见属性
        }
        </script> 
        <input type="button" value="页面导出" iconClass="fixIcon" onclick="toExcle('ygxxTable')"> 
        <table id="ygxxTable">
         <tr><td>abc</td></tr>
        </table>
      </body> 
    </html> 
      

  4.   

    [Quote=引用 3 楼 untruefly 的回复:]
    你没写id=ygxxTable这个的表格吧,我这个可以,IE
    不行啊 我写tableid了,报js错误
    网页错误详细信息用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
    时间戳: Wed, 6 Jul 2011 11:07:56 UTC
    消息: Automation 服务器不能创建对象
    行: 2783
    字符: 13
    代码: 0
    URI: http://localhost:8080/cvicdns/rlzygl/ygxxgl/ygxxzhcx.do
      

  5.   

    ActiveXObject是ie only 的把,lz这种方法可以。如果要兼容浏览器,就要在后台生成excel了