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

jacob操作word文档

阅读更多

Jacob 是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。Jacob下载的地址为:
http://sourceforge.net/project/showfiles.php?group_id=109543&package_id=118368
配置:
(1)将解压包中的jacob.dll(x86常用,x64)拷到windows安装路径下的WINDOWS\system32文件夹下
(2)将jacob.jar文件拷到classpath下即可

(3)检查一下计算机中是否安装office,如果没安装则要安装,因为无论是使用Jacob操作Word还是Excel都需要office支持的!
常见的问题

Exception in thread  "main"  java.lang.UnsatisfiedLinkError: no jacob in java.library.path

出现上面异常是因为没有dll文件

com.jacob.com.ComFailException: Invoke of: Open 

Source: Microsoft Office Word 

出现上面异常是因为文件路径不正确

cant get Object cldid from progid 

出现上面的异常是因为机器上没安装word

 

写了一小段代码,用来替换word文档中的文字,粘出来与大家分享!

package test;

import com.jacob.com.*;  
import com.jacob.activeX.*;  

public class aa {
	public static void main(String[] args) {
		ActiveXComponent app = new ActiveXComponent("Word.Application");   //启动word  
		String inFile = "D:\\template.doc";   //要替换的word文件  
		try {  
			app.setProperty("Visible", new Variant(false));   //设置word不可见  
			Dispatch docs = app.getProperty("Documents").toDispatch();
			Dispatch doc = Dispatch.invoke(docs,"Open",Dispatch.Method,
					new Object[] { inFile, new Variant(false),new Variant(false) }, new int[1]).toDispatch();  
			//打开word文件,注意这里第三个参数要设为false,这个参数表示是否以只读方式打开,
			//因为我们要保存原文件,所以以可写方式打开。  

			Dispatch selection = app.getProperty("Selection").toDispatch();//获得对Selection组件
			Dispatch.call(selection, "HomeKey", new Variant(6));//移到开头
			Dispatch find = Dispatch.call(selection, "Find").toDispatch();//获得Find组件
			Dispatch.put(find, "Text", "name");       //查找字符串"name"
			Dispatch.call(find, "Execute");           //执行查询
			Dispatch.put(selection, "Text", "111");  //替换为"111"
			
			Dispatch find1 = Dispatch.call(selection, "Find").toDispatch();//获得Find组件
			Dispatch.call(selection, "HomeKey", new Variant(6));//移到开头
			Dispatch.put(find1, "Text", "8位随机生成密码");       //查找字符串
			Dispatch.call(find1, "Execute");           //执行查询
			Dispatch.put(selection, "Text", "222");
			
			String newFileName = "D:\\temp.doc"; 
			Dispatch.call(doc, "SaveAs",newFileName);  //另存文件
			Dispatch.call(doc, "Close", new Variant(false));
			System.out.println("is over");
			} catch (Exception e) {  
				e.printStackTrace();
			}finally{
				app.invoke("Quit",new Variant[]{});
				app.safeRelease();
			}
	}
}
分享到:
评论

相关推荐

    jacob操作word文件

    在给定的代码片段中,`GetWord` 类提供了使用Jacob操作Word文档的一些基本功能。 首先,`GetWord` 类初始化了一个`ActiveXComponent` 对象 `word`,这是Jacob库中的一个关键类,用于实例化COM对象,这里是Microsoft...

    jacob 操作word 文档详解

    Jacob 操作 Word 文档详解 Jacob 操作 Word 文档概述 Jacob 是一个 Java 库,用于访问和操作 Microsoft Office 应用程序,包括 Word。它提供了一个基于 COM(Component Object Model)的接口,允许 Java 应用...

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

    在这个“Jacob操作word文档的方法集”中,我们将探讨如何使用Jacob 1.5版本来创建和操作Word文档,特别是创建目录。 首先,为了使用Jacob,你需要在你的项目中添加Jacob的jar文件。这通常涉及到将库添加到项目的类...

    如何利用Java-JACOB操作WORD文档

    本文主要探讨如何使用Java-JACOB来创建和操作Word文档。 首先,使用JACOB之前,确保你的系统中已经安装了Microsoft Office,并且配置了相应的COM组件。JACOB本身是一个开源项目,可以在SourceForge上找到...

    jacob操作word(超详细)

    1、把jacob.dll文件,复制到 windows\system32 目录下。(注:我用的时候这个方法不能运行) 2、 把jacob.dll放入 Java\jdk1.5.0_06\jre\bin目录下.把jacob.jar放入 Java\jdk1.5.0_0\jre\lib\ext 目录下.可以正常...

    JACOB操作word和excel示例

    在“如何使用jacob将word转换为PDF.doc”这个示例中,我们将学习如何使用Jacob将Word文档转换成PDF格式。以下是基本步骤: 1. **设置Jacob环境**:首先,你需要在项目中添加Jacob的jar文件,并确保系统路径中包含...

    java_jacob_操作word_文档

    ### Java Jacob 操作 Word 文档知识点详解 #### 一、Java Jacob 库介绍与安装 **Java Jacob** 是一个 Java 库,它允许 Java 应用程序与 COM 对象进行交互。通过 Jacob,开发者可以轻松地调用 Windows 的 COM 组件...

    java操作word:jacob(方法解析+环境配置)

    为了在Java环境中使用Jacob操作Word文档,需要搭建合适的开发环境: - **JDK版本**:本案例使用的是JDK 1.6。 - **IDE**:使用的是MyEclipse Enterprise Workbench Version: 7.0 Milestone-1。 - **Web服务器**:...

    jacob生成word目录

    本篇文章将深入探讨如何利用JACOB来自动生成Word文档的目录。 首先,我们需要了解什么是目录(TOC,Table of Contents)。在Word文档中,目录是一份列出文档主要部分及其对应页码的索引,帮助读者快速定位到他们感...

    jacob操作word 轻松解决

    非常实用哦,对于入门者更是只剩的法宝哦。还在等什么,快下载吧。

    jacob操作word转换成pdf

    在这个场景中,我们将讨论如何利用JACOB将Word文档转换为PDF。 首先,我们需要理解JACOB的工作原理。JACOB是通过Java的JNI(Java Native Interface)来调用COM接口的,这样就可以在Java代码中直接操纵COM对象,例如...

    jacob读取word表格

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

    jacob实现文档插入到word中

    在本文中,我们将深入探讨如何使用Jacob在Word文档中插入其他文档。 首先,理解Java Jacob的基本使用是至关重要的。Jacob通过COM(Component Object Model)接口与Windows操作系统中的Office应用进行通信。因此,要...

    jacob操作word资料

    总结,Jacob为Java开发者提供了一种强大而灵活的方式来操作Word文档。通过熟悉Dispatch对象和COM方法,你可以实现对Word的深度控制,满足各种自动化需求。不过,需要注意的是,由于依赖于本地的Office环境,Jacob在...

    Jacob 操作WORD 完整实例 附带JAR DLL

    7. **示例代码**:在提供的"example"文件中,可能包含了一个完整的Java程序,展示了如何使用Jacob打开Word文档,添加文本,保存并关闭文档的过程。通过阅读和运行这个示例,你应该能更好地理解如何在实际项目中使用...

    jacob 导出word 整理

    Jacob允许Java应用程序通过COM接口与Windows操作系统中的Office应用进行通信,从而实现对Word文档的操作。 Jacob库的核心功能是它提供了Java到COM接口的桥接,使得开发者可以调用Office应用的API来处理Word文档。...

    一次jacob操作word的总结

    本文将深入探讨如何使用Jacob在服务器端操作Word文档。 首先,导入必要的包,包括`com.setpower.sysfun.service`、`java.io.File`、`java.util.HashMap`、`java.util.Iterator`、`java.util.List`以及Jacob的`...

    Jacob处理Word文档搞定了

    载Jacob_1.11_zip,终于把Jacob处理Word文档搞定了

Global site tag (gtag.js) - Google Analytics