由于项目需要,取得word的内容,因研究了下Jacob,尽管POI也能解析word,但我觉得Jacob还是好些(注:Jacob好像不能在Linux下用)
昨天下午看了看Jacob的源码,今天上午终于把word的表格给搞定了(速度有点小慢,不过没关系,慢慢来)。下面来和大家分享下我的快乐:
首先需要下载jacob,去官网
http://sourceforge.net,下载后,需要把jacob.dll放到windows目录的system32下,把jacob.jar Copy到lib下就OK,
我用的工具是Myeclipse6.
接着我们看下打开word,嘿嘿o('_')o
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
//import com.jacob.com.ComThread;这个先不用
import com.jacob.activeX.ActiveXComponent;
public class Test
{
private ActiveXComponent app=null;
private Dispatch doc=null;
private Dispatch docs=null;
private Dispatch wcontent=null;
public boolean openWord(String wordPath)
{
boolean isOpen=true;
try
{
app= new ActiveXComponent("Word.Application"); //启动word, 生成 一个ActiveXComponent 对象
app.setProperty("Visible", new Variant(false)); //设置文档可见性
docs = app.getProperty("Documents").toDispatch(); //获得document对象
doc = Dispatch.invoke(docs, "Open",Dispatch.Method,
new Object[]{wordPath, new Variant(false), new Variant(true)} , new int[1]).toDispatch(); //打开word文件
wcontent = Dispatch.get(doc, "Content").toDispatch(); // 取得word文件的内容
}
catch(Exception e)
{
isOpen=false;
}
finally
{
}
return isOpen;
}
}
上面的方法,你只需要传递word文件所在的目录就OK,下面再看看得到表格的内容的一个方法:
/**
* 得到第X个表格的第N行第M列的内容
* @param tableNum 第几个表格
* @param row 第N行
* @param col 第M列
* @param tables 表格对象
* @return
*/
public String table(int tableNum,int row,int col,Dispatch tables)
{
String tempText = ""; //获得表格的内容
try
{
int tableCount = getTablesCount(tables); //获取文档中表格总数
if(tableCount > 0) //判断文档中是否存在表格
{
if(tableNum<=tableCount) //判断所查表格序号是否超过文档表格总数
{
//得到第X个表格的对象
Dispatch table = Dispatch.call(tables, "Item", new Variant(tableNum)).toDispatch(); //得到第X个表格对象的行
Dispatch rows = Dispatch.call(table,"Rows").toDispatch(); //获取当前表格的行数
int rowCount = Dispatch.get(rows,"Count").getInt();
if(row <=rowCount)
{
Dispatch cell = Dispatch.call(table, "Cell", new Variant(row),new Variant(col)).toDispatch();
Dispatch rangeCell = Dispatch.call(cell,"Range").toDispatch();
tempText = Dispatch.get(rangeCell,"Text").getString(); //得到所查找的表格内容
tempText="0#"+tempText;
}
else
{
tempText = "1#所查的行号不存在";
}
}
else
{
tempText = "2#所查的表格不存在";
}
}
}
catch(Exception e)
{
tempText="3#所查的表格列不存在";
}
return tempText;
}
嘿嘿,才入道,慢慢学习,希望给和我一样的朋友一点小小帮助o(^_^)o
分享到:
相关推荐
Jacob 操作 Word 文档详解 Jacob 操作 Word 文档概述 Jacob 是一个 Java 库,用于访问和操作 Microsoft Office 应用程序,包括 Word。它提供了一个基于 COM(Component Object Model)的接口,允许 Java 应用...
jacob解析word excel的jar包 dll文件
### Java操作Word:Jacob(方法解析+环境配置) #### Jacob简介 Jacob是一个开源的Java-COM桥接工具,它允许Java程序与Windows平台上的COM组件进行交互。这意味着开发者可以通过Java来控制诸如Microsoft Word、...
1. **初始化JACOB**: 在Java代码中,我们需要导入JACOB相关的库,并初始化一个`ActiveXComponent`对象,代表Word应用程序实例。 ```java import com.jacob.activeX.ActiveXComponent; import ...
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表格”涉及到的是使用Jacob库来操作Microsoft Word文档,特别是从中读取表格数据。Jacob是一个Java到COM桥接库,允许Java应用程序调用COM组件,如Microsoft Office的应用程序。 在Java中,直接...
"通过jacob实现word转为HTML"这个主题就是关于如何利用Java的一个库——Jacob来完成这项工作。Jacob是一个Java到COM桥接库,允许Java程序调用Windows COM组件,如Microsoft Office,从而实现对Office文档的操作。 ...
《使用Jacob库导出Word文档详解》 在Java编程中,有时我们需要与Microsoft Office应用程序进行交互,例如创建、编辑或导出Word文档。在这种情况下,Jacob(Java COM Bridge)库是一个非常有用的工具。Jacob允许Java...
读取word文件的内容,并将内容返回为String类型!
Jacob是一个Java库,它提供了一个接口来调用Microsoft Office应用程序,如Word,Excel和PowerPoint。这个库使得在Java程序中处理Office文档成为可能,无需使用COM(Component Object Model)编程。在这个“Jacob操作...
Jacob库在Java中用于操作Microsoft Office应用程序,如Word、Excel等。这个库是Java和COM接口之间的桥梁,允许Java程序能够调用COM组件,从而实现对Office文档的创建、编辑和格式化等功能。在给定的代码片段中,`...
java操作word 超简单实用:第一步: 引入包jacob.jar 第二步:参考工具类MsWordTool.java 含概基本WORD 所有操作方法 【特别难点】解决实例: 1)word书签内容替换后,书签会丢失问题 2)word定点批量插入图片...
1. DLL文件版本不匹配:确保你使用的JACOB版本和你的Office版本兼容。 2. 权限问题:如果Word文档位于受保护的位置,可能需要以管理员权限运行程序。 3. 文档格式不支持:虽然JACOB支持XML格式的Word文档,但不是...
在这个场景下,我们将详细探讨如何利用Jacob来分析和处理Word文档,特别是目录、段落以及它们之间的关系。 首先,标题和目录在Word文档中起着组织和导航的作用。Jacob提供了API,可以让我们访问到Word文档的内置...
1. **安装Jacob**:下载Jacob的jar文件,并将其添加到你的Java项目的类路径中。同时,还需要将Jacob的动态链接库(dll文件)放到系统路径下的bin目录,以便Java能够找到并加载它。 2. **初始化COM**:在Java代码中...
jacob操作word实例,包括文本、表格的读写操作
在IT行业中, Jacob库是一个非常实用的工具,它允许Java应用程序与Microsoft Office进行交互,包括Word和Excel。本文将深入探讨如何使用Jacob库来操作Word和Excel,通过提供的示例文档,我们将理解如何进行文件转换...
1. 引入jacob库 2. 启动并隐藏Word应用 3. 打开Word文档 4. 另存为HTML 5. 关闭文档和退出Word应用 这个过程在给定的压缩包文件"word2htm"中应该包含了一个完整的MyEclipse工程,你可以直接导入并运行,以体验和...
### jacob给Word文档添加页脚 在日常工作中,Word文档是经常被使用的工具之一,尤其是在需要编写报告、论文或专业文档时。为了使文档更加规范和专业,往往需要添加页眉、页脚等元素。其中,页脚常用于显示页码、...
通过JACOB,Java开发人员可以创建和操作Word文档,执行宏命令,甚至将Word文档转换为PDF格式。使用JACOB前,需要确保已经在Java开发环境中加入了JACOB的jar包。 首先,JACOB允许Java调用Word中的宏。在使用JACOB...