posts - 41, comments - 15, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          將幾個word文件合并到一個word文件,需要下載jacob-1.17-M2.zip,將壓縮文件內的jacob-1.17-M2-x64.dll放到windows/system32下,將jacob.jar放到項目中
          public static void main(String[] args) {
             List list  = new ArrayList();
             String file1= "D:\\file1.doc";
             String file2= "D:\\file2.doc";
             String file3= "D:\\file3.doc";
             list.add(file1);
             list.add(file2);
             list.add(file3);
             uniteDoc(list,"d:\\file.doc");
           }
           public static void uniteDoc(List fileList, String savepaths) {
            if (fileList.size() == 0 || fileList == null) {
             return;
            }
            //打開word
            ActiveXComponent app = new ActiveXComponent("Word.Application");//啟動word
            try {
             // 設置word不可見
             app.setProperty("Visible", new Variant(false));
             //獲得documents對象
             Object docs = app.getProperty("Documents").toDispatch();
             //打開第一個文件
             Object doc = Dispatch
                          .invoke(
                                  (Dispatch) docs,
                                  "Open",
                                  Dispatch.Method,
                                  new Object[] { (String) fileList.get(0),
                                          new Variant(false), new Variant(true) },
                                  new int[3]).toDispatch();
             //追加文件
             for (int i = 1; i < fileList.size(); i++) {
              Dispatch.invoke(app.getProperty("Selection").toDispatch(),
                              "insertFile", Dispatch.Method, new Object[] {
                                      (String) fileList.get(i), "",
                                      new Variant(false), new Variant(false),
                                      new Variant(false) }, new int[3]);
             }
             //保存新的word文件
             Dispatch.invoke((Dispatch) doc, "SaveAs", Dispatch.Method,
                          new Object[] { savepaths, new Variant(1) }, new int[3]);
             Variant f = new Variant(false);
             Dispatch.call((Dispatch) doc, "Close", f);
            } catch (Exception e) {
             throw new RuntimeException("合并word文件出錯.原因:" + e);
            } finally {
             app.invoke("Quit", new Variant[] {});
            }
           }



          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 新闻| 金坛市| 延津县| 吉安县| 桃源县| 延寿县| 丘北县| 河间市| 鸡西市| 敦化市| 博兴县| 垫江县| 潮安县| 韶山市| 利川市| 茶陵县| 肇东市| 阿坝| 红原县| 芜湖县| 黄骅市| 澎湖县| 买车| 台江县| 嵊泗县| 从江县| 贵溪市| 镇原县| 芦溪县| 广西| 庆云县| 蓬溪县| 金湖县| 光泽县| 昆明市| 新津县| 合川市| 蓬溪县| 竹溪县| 长沙市| 湖南省|