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();
}
}
}
分享到:
相关推荐
在给定的代码片段中,`GetWord` 类提供了使用Jacob操作Word文档的一些基本功能。 首先,`GetWord` 类初始化了一个`ActiveXComponent` 对象 `word`,这是Jacob库中的一个关键类,用于实例化COM对象,这里是Microsoft...
Jacob 操作 Word 文档详解 Jacob 操作 Word 文档概述 Jacob 是一个 Java 库,用于访问和操作 Microsoft Office 应用程序,包括 Word。它提供了一个基于 COM(Component Object Model)的接口,允许 Java 应用...
在这个“Jacob操作word文档的方法集”中,我们将探讨如何使用Jacob 1.5版本来创建和操作Word文档,特别是创建目录。 首先,为了使用Jacob,你需要在你的项目中添加Jacob的jar文件。这通常涉及到将库添加到项目的类...
本文主要探讨如何使用Java-JACOB来创建和操作Word文档。 首先,使用JACOB之前,确保你的系统中已经安装了Microsoft Office,并且配置了相应的COM组件。JACOB本身是一个开源项目,可以在SourceForge上找到...
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转换为PDF.doc”这个示例中,我们将学习如何使用Jacob将Word文档转换成PDF格式。以下是基本步骤: 1. **设置Jacob环境**:首先,你需要在项目中添加Jacob的jar文件,并确保系统路径中包含...
### Java Jacob 操作 Word 文档知识点详解 #### 一、Java Jacob 库介绍与安装 **Java Jacob** 是一个 Java 库,它允许 Java 应用程序与 COM 对象进行交互。通过 Jacob,开发者可以轻松地调用 Windows 的 COM 组件...
为了在Java环境中使用Jacob操作Word文档,需要搭建合适的开发环境: - **JDK版本**:本案例使用的是JDK 1.6。 - **IDE**:使用的是MyEclipse Enterprise Workbench Version: 7.0 Milestone-1。 - **Web服务器**:...
本篇文章将深入探讨如何利用JACOB来自动生成Word文档的目录。 首先,我们需要了解什么是目录(TOC,Table of Contents)。在Word文档中,目录是一份列出文档主要部分及其对应页码的索引,帮助读者快速定位到他们感...
非常实用哦,对于入门者更是只剩的法宝哦。还在等什么,快下载吧。
在这个场景中,我们将讨论如何利用JACOB将Word文档转换为PDF。 首先,我们需要理解JACOB的工作原理。JACOB是通过Java的JNI(Java Native Interface)来调用COM接口的,这样就可以在Java代码中直接操纵COM对象,例如...
标题“jacob读取word表格”涉及到的是使用Jacob库来操作Microsoft Word文档,特别是从中读取表格数据。Jacob是一个Java到COM桥接库,允许Java应用程序调用COM组件,如Microsoft Office的应用程序。 在Java中,直接...
在本文中,我们将深入探讨如何使用Jacob在Word文档中插入其他文档。 首先,理解Java Jacob的基本使用是至关重要的。Jacob通过COM(Component Object Model)接口与Windows操作系统中的Office应用进行通信。因此,要...
总结,Jacob为Java开发者提供了一种强大而灵活的方式来操作Word文档。通过熟悉Dispatch对象和COM方法,你可以实现对Word的深度控制,满足各种自动化需求。不过,需要注意的是,由于依赖于本地的Office环境,Jacob在...
7. **示例代码**:在提供的"example"文件中,可能包含了一个完整的Java程序,展示了如何使用Jacob打开Word文档,添加文本,保存并关闭文档的过程。通过阅读和运行这个示例,你应该能更好地理解如何在实际项目中使用...
Jacob允许Java应用程序通过COM接口与Windows操作系统中的Office应用进行通信,从而实现对Word文档的操作。 Jacob库的核心功能是它提供了Java到COM接口的桥接,使得开发者可以调用Office应用的API来处理Word文档。...
本文将深入探讨如何使用Jacob在服务器端操作Word文档。 首先,导入必要的包,包括`com.setpower.sysfun.service`、`java.io.File`、`java.util.HashMap`、`java.util.Iterator`、`java.util.List`以及Jacob的`...
载Jacob_1.11_zip,终于把Jacob处理Word文档搞定了