求大神帮忙,前台生成word问题

Miss_Jak 2017-07-18 08:21:43
function ext2Word(){
try{
//html操作
var sel=document.body.createTextRange();
sel.moveToElementText(document.body);
sel.select();
sel.execCommand("Copy");
//word操作
var oWord=new ActiveXObject("Word.Application");
oWord.Application.Visible=true;
var oDoc=oWord.Documents.Add("",0,1);
oRange=oDoc.Range();
oRange.Paste();
}catch(e){
alert("未安装Word或浏览器安全设置没有放开,请查阅帮助进行设置后打印");
}
}
这是前端JS代码,现在能生成word,但是生成的word格式不好看,让我改,
sel.moveToElementText(document.body);这里是从body开始的,让我只选择table,或者td tr,这个需要怎么弄。求大神指点

选择生成的是这样,但是生成word时候就变成这样了
...全文
172 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Miss_Jak 2017-07-18
  • 打赏
  • 举报
回复
引用 5 楼 showbo 的回复:
所有的table都放一个div下啊。。



现在是只把ST 1的生成word,后面的st2到7都没有生成,我要全部生成出来
Miss_Jak 2017-07-18
  • 打赏
  • 举报
回复
引用 5 楼 showbo 的回复:
所有的table都放一个div下啊。。


是我的我这么做的,但是每个jsp是一个内容,


一个有7个jsp我要把这7个全都生成word,但是现在只把第一个jsp生成word后其他的就没有了。
Go 旅城通票 2017-07-18
  • 打赏
  • 举报
回复
所有的table都放一个div下啊。。
Miss_Jak 2017-07-18
  • 打赏
  • 举报
回复
引用 3 楼 showbo 的回复:
直接删除不要的内容,再执行
sel.moveToElementText(tb);;
sel.select();
sel.execCommand("Copy");

这个操作罗。。

大神我的意思是这样的


这个是页面上的内容,一共也好几个大项,但是现在生成的word第一个结束后面的就没有了
我在好几个jsp里都加了div而且都是一样的id
Go 旅城通票 2017-07-18
  • 打赏
  • 举报
回复
直接删除不要的内容,再执行 sel.moveToElementText(tb);; sel.select(); sel.execCommand("Copy"); 这个操作罗。。
Miss_Jak 2017-07-18
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
table放一个div里面,然后选中那个div<h1>拷贝我啊</h1>
<script>
    function ext2Word() {
        try {
            //html操作
            var sel = document.body.createTextRange();
            var tb = document.getElementById('mytb');
            sel.moveToElementText(tb);;
            sel.select();
           sel.execCommand("Copy");
            //word操作
           var oWord = new ActiveXObject("Word.Application");
            oWord.Application.Visible = true;
            var oDoc = oWord.Documents.Add("", 0, 1);
            oRange = oDoc.Range();
            oRange.Paste();
        } catch (e) {
            alert("未安装Word或浏览器安全设置没有放开,请查阅帮助进行设置后打印");
        }
    }
    window.onload = ext2Word
</script><div id="mytb">
    <table border="1">
        <tr><th>11</th><th>22</th><th>33</th></tr>
        <tr><td>111</td><td>222</td><td>333</td></tr>
        <tr><td colspan="3" align="center">111</td></tr>
    </table>
</div>
谢谢,相当感谢,但是需要生成的word有好几个页面,我都加div了但是第一个页面结束后就不走剩下的了。这个怎么解决
Go 旅城通票 2017-07-18
  • 打赏
  • 举报
回复
table放一个div里面,然后选中那个div<h1>拷贝我啊</h1>
<script>
    function ext2Word() {
        try {
            //html操作
            var sel = document.body.createTextRange();
            var tb = document.getElementById('mytb');
            sel.moveToElementText(tb);;
            sel.select();
           sel.execCommand("Copy");
            //word操作
           var oWord = new ActiveXObject("Word.Application");
            oWord.Application.Visible = true;
            var oDoc = oWord.Documents.Add("", 0, 1);
            oRange = oDoc.Range();
            oRange.Paste();
        } catch (e) {
            alert("未安装Word或浏览器安全设置没有放开,请查阅帮助进行设置后打印");
        }
    }
    window.onload = ext2Word
</script><div id="mytb">
    <table border="1">
        <tr><th>11</th><th>22</th><th>33</th></tr>
        <tr><td>111</td><td>222</td><td>333</td></tr>
        <tr><td colspan="3" align="center">111</td></tr>
    </table>
</div>

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧