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 費思量 閱讀(2668) 評論(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: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 馆陶县| 元阳县| 理塘县| 老河口市| 武鸣县| 从江县| 吕梁市| 茶陵县| 科尔| 柯坪县| 嫩江县| 寿宁县| 石门县| 永登县| 千阳县| 青州市| 蛟河市| 宝鸡市| 石狮市| 永登县| 庆元县| 麟游县| 偏关县| 璧山县| 鸡泽县| 建阳市| 新龙县| 丹凤县| 汾阳市| 闻喜县| 无为县| 金川县| 新龙县| 拉孜县| 凤翔县| 九寨沟县| 水富县| 开江县| 邵阳县| 襄城县| 红安县|