`

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文档中的文字,粘出来与大家分享!

 

  1. package test;  
  2.   
  3. import com.jacob.com.*;    
  4. import com.jacob.activeX.*;    
  5.   
  6. public class aa {  
  7.     public static void main(String[] args) {  
  8.         ActiveXComponent app = new ActiveXComponent("Word.Application");   //启动word    
  9.         String inFile = "D:\\template.doc";   //要替换的word文件    
  10.         try {    
  11.             app.setProperty("Visible"new Variant(false));   //设置word不可见    
  12.             Dispatch docs = app.getProperty("Documents").toDispatch();  
  13.             Dispatch doc = Dispatch.invoke(docs,"Open",Dispatch.Method,  
  14.                     new Object[] { inFile, new Variant(false),new Variant(false) }, new int[1]).toDispatch();    
  15.             //打开word文件,注意这里第三个参数要设为false,这个参数表示是否以只读方式打开,  
  16.             //因为我们要保存原文件,所以以可写方式打开。    
  17.   
  18.             Dispatch selection = app.getProperty("Selection").toDispatch();//获得对Selection组件  
  19.             Dispatch.call(selection, "HomeKey"new Variant(6));//移到开头  
  20.             Dispatch find = Dispatch.call(selection, "Find").toDispatch();//获得Find组件  
  21.             Dispatch.put(find, "Text""name");       //查找字符串"name"  
  22.             Dispatch.call(find, "Execute");           //执行查询  
  23.             Dispatch.put(selection, "Text""111");  //替换为"111"  
  24.               
  25.             Dispatch find1 = Dispatch.call(selection, "Find").toDispatch();//获得Find组件  
  26.             Dispatch.call(selection, "HomeKey"new Variant(6));//移到开头  
  27.             Dispatch.put(find1, "Text""8位随机生成密码");       //查找字符串  
  28.             Dispatch.call(find1, "Execute");           //执行查询  
  29.             Dispatch.put(selection, "Text""222");  
  30.               
  31.             String newFileName = "D:\\temp.doc";   
  32.             Dispatch.call(doc, "SaveAs",newFileName);  //另存文件  
  33.             Dispatch.call(doc, "Close"new Variant(false));  
  34.             System.out.println("is over");  
  35.             } catch (Exception e) {    
  36.                 e.printStackTrace();  
  37.             }finally{  
  38.                 app.invoke("Quit",new Variant[]{});  
  39.                 app.safeRelease();  
  40.             }  
  41.     }  
  42. }  

 

转自:http://gcguchao8888-sina-com.iteye.com/blog/435516

分享到:
评论
1 楼 liubinwo245 2013-12-03  
你好,请问怎么读取word中指定部分的内容,比如【题干】。。。。。。【题干结束】,读取中间的内容,里面可能有图片,表格,然后转为html存入到数据库。

相关推荐

    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