`
ourteam
  • 浏览: 132365 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • java
阅读更多

     因项目需要将几个word文件合并到一个word文件,后面附项目运用的jar包jacob-1.9

jacob运用中,需要将附件内的jacob.dll放到windows/system32下

     直接上代码:

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[] {});
		}
	}

 

分享到:
评论
3 楼 229022568 2014-08-04  
Exception in thread "main" java.lang.RuntimeException: 合并word文件出错.原因:java.lang.ClassCastException: java.io.File cannot be cast to java.lang.String
at jacob.Demo.uniteDoc(Demo.java:65)
at jacob.Demo.main(Demo.java:24)

为什么我一直报这个错误啊?有人知道吗
2 楼 river_ppp 2013-10-25  
非常好,很有用处!!!!!!!!!!!!!!!!!!
1 楼 mysky_6032 2011-09-22  
谢谢!正在用这个

相关推荐

    使用Jacob合并word

    然后,我们打开第一个Word文档,插入一个分页符,再插入第二个文档内容。最后,我们将合并后的文档保存到指定路径,并关闭原始文档。整个过程都在后台进行,不会显示Word界面,从而避免对用户造成干扰。 需要注意的...

    java多个word文件合并.zip

    - **粘贴到目标文件**: 打开一个新的或已存在的Word文档作为目标文件,然后将内容粘贴到其中。 - **保存和关闭**: 最后,保存目标文件并关闭所有打开的文档。 2. **Apache POI库**: Apache POI是一个流行的开源...

    Jacob Word excel 转PDF 合并PDF文件

    标题提到的"Jacob Word excel 转PDF 合并PDF文件"是指使用Jacob库来将Microsoft Word和Excel文档转换为PDF格式,并进一步合并多个PDF文件。Jacob(Java Advanced COM Bridge)是一个Java库,它允许Java应用程序与...

    jacob 操作word 文档详解

    Jacob 操作 Word 文档详解 Jacob 操作 Word 文档概述 Jacob 是一个 Java 库,用于访问和操作 Microsoft Office ... Jacob 库是一个功能强大且易于使用的库,它可以帮助 Java 开发者快速地实现 Word 文档的操作。

    jacob实现文档插入到word中

    总结来说,Java Jacob提供了一个有效的方式,让开发者能够使用Java语言直接操作Word,实现诸如插入文档等功能。通过理解COM交互机制和Jacob的API,你可以构建出强大的文档处理应用。不过,由于Jacob依赖于Windows和...

    (转)Java jacob调用打印机打印word文档

    以上代码是一个简单的示例,展示了如何使用Jacob打开Word文档并进行打印。实际使用时,需要根据具体需求调整参数,例如设置打印范围、副本数量等。 8. **注意事项**:由于Jacob依赖于Windows的COM组件,所以这种...

    java实现word合并(poi,jacob,docx4j,plutext)及文件格式转换全家桶

    word合并全家桶,包括横页和竖页兼容合并,里面包含使用文件格式转换,rtf转换为标准的word格式或者其他类型转换,jacob合并word案例及jar包,docx4j合并word案例及jar包,还有poi合并,以及Plutext-Enterprise-3.3.0.6...

    Jacob操作word 文档的方法集!(含创建目录),使用的Jacob版本是1.5

    在使用Jacob操作Word文档时,你需要创建一个`ActiveXComponent`实例,它代表Word应用程序对象。例如: ```java import com.jacob.activeX.ActiveXComponent; import com.jacob.com.Dispatch; ActiveXComponent ...

    jacob以目录和段落分析读取Word文档(自己写的)

    Jacob是一个Java COM自动化桥接库,它允许Java应用程序利用微软Office应用的COM接口,包括Word。 首先,我们要理解Jacob的基本用法。Jacob通过Java Native Interface (JNI) 来与Windows操作系统交互,使得Java程序...

    java使用jacob通过模板生成word文档完整项目

    Java使用Jacob库通过模板生成Word文档是一个常见的技术实践,尤其在企业级应用中,这种技术常用于批量生成报告、合同等文档。Jacob全称为Java Advanced COM Bridge,它为Java提供了与COM组件交互的能力,让我们可以...

    jacob操作word文件

    首先,`GetWord` 类初始化了一个`ActiveXComponent` 对象 `word`,这是Jacob库中的一个关键类,用于实例化COM对象,这里是Microsoft Word应用程序。`word.setProperty("Visible", new Variant(false))` 配置Word应用...

    java使用jacob通过word模板生成word文档项目实例

    本项目实例提供了一个很好的学习起点,可以帮助开发者了解如何使用Java和Jacob库生成基于Word模板的文档。通过阅读源代码和readme.txt中的注意事项,可以深入理解如何将此技术应用到实际项目中。

    jacob读取word表格

    标题“jacob读取word表格”涉及到的是使用Jacob库来操作Microsoft Word文档,特别是从中读取表格数据。Jacob是一个Java到COM桥接库,允许Java应用程序调用COM组件,如Microsoft Office的应用程序。 在Java中,直接...

    jacob-java调用word

    在使用JACOB调用Word宏之前,可以通过Visual Basic(VB)编写一个自动化的脚本来调用宏,并通过JACOB以Java代码实现相似的功能。具体来说,VB代码使用CreateObject创建Word应用程序实例,打开文档并调用宏。而Java...

    Java 实现word文件增加图片水印 jacob实现 用到的jar

    Jacob库包含了一个名为`jacob.jar`的Java库和针对不同体系结构(x64和x86)的动态链接库(`jacob-1.15-M4-x64.dll`和`jacob-1.15-M4-x86.dll`)。安装Jacob时,需要确保选择与你的Java运行环境和操作系统架构相匹配...

    Java读取Word文档页数

    `jacob.jar`是一个Java到COM桥接库,它允许Java应用程序调用Microsoft Office组件,如Word,从而能够直接操作Word文档。而`itextpdf-5.5.9.jar`是一个用于创建和修改PDF文档的Java库,虽然它的主要功能是处理PDF,但...

    java之jacob实现获取word文件的内容

    读取word文件的内容,并将内容返回为String类型!

    jacob 导出word 整理

    要创建一个新的Word文档,你可以通过`ActiveXComponent`类实例化一个`Word.Application`对象,然后调用其`Documents.Add()`方法: ```java import com.jacob.activeX.ActiveXComponent; import ...

    jacob通过word模板生成word文档

    java项目, 直接导入eclipse里面或者myeclipse里面就可以运行....通过jacob插件,通过word模板自动填充相应的数据,并且产生文件,为了解决有的tomcat下会乱码, 生成完成之后会转码一下, 解决了中文乱码问题.

Global site tag (gtag.js) - Google Analytics