xih  
日历

导航

常用链接

留言簿(2)

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 

 

function doPrint(servlet, form) {
    
var oWord = new ActiveXObject("Word.Application");
    
var oDoc = oWord.Documents.Add("",0,1);
    
var strFields = form.elements["gFields"].value;
    
var fields = strFields.split(",");
    oWord.Selection.TypeParagraph();    
    oWord.Selection.Style 
= oDoc.Styles("正文");
    
var wdPageBreak = 7;
    oWord.Selection.InsertBreak(wdPageBreak);        
//生成下一页,用于产生正文部分。当前页用于生成目录
    for(var i=0;i<fields.length;i++){
        form.elements[
"gFields"].value = fields[i];
        
var oRange = oWord.Selection.Range;
        pastObj(servlet,form,oWord);
        
    }

    oWord.Selection.TypeBackspace();        
//去掉最后一页
    oWord.Selection.HomeKey(6);        //返回首页的第一行
    oWord.Selection.Font.Bold = 9999998;    //加粗
    oWord.Selection.Font.Size = 16;        //设置字体大小(3号)
    oWord.Selection.TypeText("目录");
    oWord.Selection.ParagraphFormat.Alignment 
= 1;        //居中
    oWord.Selection.TypeParagraph();        //换行
    oWord.Selection.Style = oDoc.Styles("正文");        //样式设为正文
    oWord.Application.WindowState = 2;
    oWord.Application.WindowState 
= 0;
    
//生成目录
    oWord.ActiveDocument.TablesOfContents.add(oWord.Selection.Range,true,1,3,false,"",true,true,"",true,true,true);
    oWord.ActiveDocument.TablesOfContents(
1).TabLeader = 1
    oWord.ActiveDocument.TablesOfContents.Format 
= 0;
    oWord.Selection.Sections(
1).Footers(1).PageNumbers.Add(2,true);        //在页脚出生成页码
    oWord.Application.Visible = true;
    
//退出word
    //oWord.Quit();
    oWord = null;
}

function pastObj(servlet, form,oWord){
    
var ajax = new AJAXInteraction(servlet, function(requestText) {
            
if (requestText == "FAILED"{
                
return;
            }

            
else {
                
var oDoc = oWord.ActiveDocument;
                
var sele = oWord.Selection;
                sele.Style 
= oDoc.Styles("标题 1");        //设置样式为标题1
                var tempObj = document.getElementById("content");
                tempObj.innerHTML 
= requestText;
                
var title = document.getElementById("title_"+form.elements["gFields"].value).value;
                oWord.Selection.TypeText(title);    
//取得单位名称,并设为标题
                sele.TypeParagraph();        //换行
                sele.Style = oDoc.Styles("正文");    //设置样式为正文
                var arrs = requestText.split("^^^");
                
for(var i=0;i<arrs.length;i++){
                    
var obj = document.getElementById("content");
                    obj.innerHTML 
= arrs[i];
                    
var sel = document.body.createTextRange();
                    sel.moveToElementText(obj);
                    sel.select();
                    sel.execCommand(
"Copy");
                    sele.paste();
                    
var wdPageBreak = 7;
                    sele.InsertBreak(wdPageBreak);        
//生成下一页
                }

            
//sele.TypeParagraph();
            //sele.TypeText("测试1");
            //sele.Style = oDoc.Styles("正文");
            }

        }
);
    ajax.doPost(getRequestBody(form));
}

 

posted on 2007-07-16 09:30 费思量 阅读(2645) 评论(4)  编辑  收藏
评论:
  • # re: 导出到word,并产生目录  sunxilai Posted @ 2007-10-11 19:34
    你好,最近我在尝试做java导word的功能,使用的是jacob.基本功能都能实现,但设置标题样式这块,怎么尝试也不成功.我看到你的这段代码里有这段功能,但内容不完不整,能不能给出一个完整的例子.谢谢.
    huoshaodao-521@163.com  回复  更多评论   

  • # re: 导出到word,并产生目录  王鸿雁 Posted @ 2009-06-04 13:49
    特别期望能得到用java代码实现的生成目录和页码的功能。所以希望作者能给与详细的代码,因为这段js我不知道怎么去调。我的QQ:350562587  回复  更多评论   

  • # re: 导出到word,并产生目录  第四代 Posted @ 2011-10-27 17:22
    这是写什么啊,故意放一点点。舍不得啊  回复  更多评论   

  • # re: 导出到word,并产生目录   马银涛 Posted @ 2011-11-21 15:31
    请问,利用Velocity模板导出word时,怎么生成目录啊?  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
 
Copyright © 费思量 Powered by: 博客园 模板提供:沪江博客