talangniao 发表于 2013-2-7 17:52:27

http://www.blogjava.net/supercrsky/archive/2008/07

JavaScript导出Word后对Word分页的处理

<div class="postText">需求是这样的,导出html指定元素内容为word,并按指定关键字分页.
网上找了半天只有保存为word的方法.在csdn上向专家提了问,没人回啊555.
蹒跚学步开始了.
对于分页,自己用vba录制了
命令,然后用JavaScript调试出来的.

直接看代码:
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;">http://www.blogjava.net/Images/OutliningIndicators/None.gif<html>
http://www.blogjava.net/Images/OutliningIndicators/None.gif    <HEAD>
http://www.blogjava.net/Images/OutliningIndicators/None.gif        <title>WEB页面导出为Word文档后分页的方法 </title>
http://www.blogjava.net/Images/OutliningIndicators/None.gif    </HEAD>
http://www.blogjava.net/Images/OutliningIndicators/None.gif    <SCRIPT LANGUAGE="javascript">
http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gifhttp://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif                /**//*
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                 * 
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                 * @param {Object} cont  要导出的html元素内容的id,注意不要加双引号
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                 * @param {Object} key   分页关键字
http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif                 */
http://www.blogjava.net/Images/OutliningIndicators/None.gif                function AllAreaWord(cont,key)
http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gifhttp://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif                http://www.blogjava.net/Images/dot.gif{
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    var oWD = new ActiveXObject("Word.Application");
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    //默认为页面视图
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    var oDC = oWD.Documents.Add("", 0, 0);
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    var oRange = oDC.Range(0, 1);
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    //var oRange1 = oDC.Range(0,2);
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    var sel = document.body.createTextRange();
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    //参数为html元素id 
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    sel.moveToElementText(cont);
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    sel.select();
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    sel.execCommand("Copy");
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    oRange.Paste();
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    oWD.Application.Visible = true;
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    //得到打开后word的selection对象
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    var selection = oWD.Selection;
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    //设置字体大小
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    selection.Font.Size = 10;
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    //ctrl+A 全选操作
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    selection.WholeStory();
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    //清除格式
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    selection.Find.ClearFormatting();
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    //指定查找关键字
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    selection.Find.Text = key;
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    //^m为手动分页符标记
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    //向下查找
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    selection.Find.Forward = true;
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    selection.Find.Wrap = 1;
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    //不区分大小写
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    selection.Find.MatchCase = false;
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    //不匹配整个单词
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    selection.Find.MatchWholeWord = false;
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    //如果找到指定字符串返回真,否则返回false
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                    while (selection.Find.Execute()) 
http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif                    http://www.blogjava.net/Images/dot.gif{
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                        //插入分页符,分页符常量为7,具体可查word api
http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif                        selection.InsertBreak(7);
http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif                    }
http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif                }
http://www.blogjava.net/Images/OutliningIndicators/None.gif    </SCRIPT>
http://www.blogjava.net/Images/OutliningIndicators/None.gif    <body>
http://www.blogjava.net/Images/OutliningIndicators/None.gif        <BR>
http://www.blogjava.net/Images/OutliningIndicators/None.gif        <div id="test">
http://www.blogjava.net/Images/OutliningIndicators/None.gif            aaa
http://www.blogjava.net/Images/OutliningIndicators/None.gif            ^
http://www.blogjava.net/Images/OutliningIndicators/None.gif            bbb
http://www.blogjava.net/Images/OutliningIndicators/None.gif            ^
http://www.blogjava.net/Images/OutliningIndicators/None.gif            ccc
http://www.blogjava.net/Images/OutliningIndicators/None.gif        </div>
http://www.blogjava.net/Images/OutliningIndicators/None.gif        <input type="button" onclick="javascript:AllAreaWord(test,'^');" value="导出页面指定区域内容到Word"/>
http://www.blogjava.net/Images/OutliningIndicators/None.gif    </body>
http://www.blogjava.net/Images/OutliningIndicators/None.gif</html>
页: [1]
查看完整版本: http://www.blogjava.net/supercrsky/archive/2008/07