用jacob实现word文件的追加

原创 2006年06月11日 22:48:00

/*
 * 创建日期 2005-6-6
 *
 * 合并word文件
 */
package com.gao;

import java.util.ArrayList;
import java.util.List;

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;

/**
 * @author gaoyongqiang
 *
 * TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class UniteWord {
    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[] {});
        }
      
    }

}

Java追加文件内容的三种方法

[java] view plaincopy import java.io.BufferedWriter;   import java.io.File;   impor...
  • z69183787
  • z69183787
  • 2014年09月03日 19:11
  • 1697

jacob合并多个word文件和插入分页符

//批量多个word文件合并成一个word文件   public void uniteDoc(ArrayList fileList, String savepaths,ArrayList filen...
  • huangxiaoqin0818
  • huangxiaoqin0818
  • 2013年05月22日 12:31
  • 2294

Jacob 操作Word文档示例

package king.word; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.Dispatch; import...
  • kinglearnjava
  • kinglearnjava
  • 2015年01月22日 01:50
  • 802

Java利用jacob实现文档格式转换

实现文档格式之间的转换,我使用的是jacob-1.7版本,需要jacob.jar来调用activex控件,本机需安装WPS/office,还需要jacob.jar以及jacob.dll  其中:  ...
  • hh12211221
  • hh12211221
  • 2017年01月10日 19:20
  • 1669

基于freeMarker和jacob的word导出

基于freeMarker和jacob的word导出 第一步、导入相关的jar包 这里主要用到两个jar包,由于后续再jacob操作的时候需要与windows组件进行交互,因此需要两个dll包,放在jd...
  • crown_0726
  • crown_0726
  • 2015年03月29日 13:59
  • 1199

java使用jacob操作word文档

ava使用jacob操作word文档 java调用com组件操作word使用总结(jacob) 简单描述    在此处输入简单摘要 特别声明:使用java-com技术可...
  • mincheat
  • mincheat
  • 2014年11月26日 14:47
  • 3064

利用模板导出文件(二)之jacob利用word模板导出word文件(Java2word)

先下载jacob.jar包。解压后将jacob.dll放到windows/system32下面或\jre\bin下面。将jacob.jar加入项目。 这样项目的环境基本上搭建完成,接下来就是书写相关...
  • Fishroad
  • Fishroad
  • 2015年08月24日 15:01
  • 3026

Jacob解决Word文档的读写问题收藏

Jacob解决Word文档的读写问题收藏 Jacob是Java-COMBridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。使用Jacob自带的DLL动态链接库,并通过JNI的方式实现...
  • mobingdetong
  • mobingdetong
  • 2016年05月25日 17:05
  • 2052

jacob合并几个word文件到一个word文件

http://ourteam.iteye.com/blog/1167962
  • white__cat
  • white__cat
  • 2017年01月08日 20:37
  • 788

采用jacob实现word转pdf

采用jacob实现word转pdf
  • kookob
  • kookob
  • 2015年04月14日 10:46
  • 8883
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用jacob实现word文件的追加
举报原因:
原因补充:

(最多只允许输入30个字)