ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:118.92KB ,
资源ID:23356076      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23356076.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java操作word精.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java操作word精.docx

1、java操作word精JAVA操作wordJava操作Microsoft Word之jacob(精)现在我们一起来看看,用Java如何操作Microsoft Word。jacob,官网是 这是一个开源的工具。最新版本1.7官方的解释是:The JACOB Project: A JAva-COM Bridge这是官方对下载文件的说明:jacob.jar: a JAR file for the java classes which you must add to your CLASSPATH. The package names replace com.ms with com.jacob (for

2、 example .Variant maps to .Variant.jacob.dll: a small Win32 DLL which you must add to your PATH.samples: provided in Java source and compiled form to demonstrate various features of the product. In particular, a set of wrapper classes for Microsoft ADO are provided as samples.开发环境:JDK 1.6MyEclipse E

3、nterprise Workbench Version: 7.0 Milestone-1Tomcat 5.5.27现在MyEclipse中新建一个项目jacob,将jacob的jar包放到该项目的类库中。我的jacob版本是1.14.3 。下面这一步非常重要,就是拷贝jacob目录中jacob-1.14.3-x86.dll文件到系统环境变量目录中一般情况就放在当前jdk中bin目录下。这里有一个MSWordManager 类,是jacob官方发布的工具类,里面有大多数Java操作MS Office的工具。package com.test;import java.sql.Connection;

4、import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.List;import com.jacob.activeX.ActiveXComponent; import .Dispatch; import .Variant;public class MSWordManager / word文档 private Dispatch doc; / word运行程序对象 private ActiveXCo

5、mponent word; / 所有word文档集合 private Dispatch documents; / 选定的范围或插入点 private Dispatch selection; private boolean saveOnExit = true; /* */* * * param visible 为true表示word应用程序可见 */ public MSWordManager(boolean visible) if (word = null) word = new ActiveXComponent(Word.Application); word.setProperty(Visib

6、le, new Variant(visible); if (documents = null) documents = word.getProperty(Documents).toDispatch(); /* */* * 设置退出时参数 * * param saveOnExit boolean true-退出时保存文件,false-退出时不保存文件 */ public void setSaveOnExit(boolean saveOnExit) this.saveOnExit = saveOnExit; /* */* * 创建一个新的word文档 * */ public void create

7、NewDocument() doc = Dispatch.call(documents, Add).toDispatch(); selection = Dispatch.get(word, Selection).toDispatch(); /* */* * 打开一个已存在的文档 * * param docPath */ public void openDocument(String docPath) closeDocument(); doc = Dispatch.call(documents, Open, docPath).toDispatch(); selection = Dispatch.

8、get(word, Selection).toDispatch(); /* */* * 把选定的内容或插入点向上移动 * * param pos 移动的距离 */ public void moveUp(int pos) if (selection = null) selection = Dispatch.get(word, Selection).toDispatch(); for (int i = 0; i < pos; i+) Dispatch.call(selection, MoveUp); /* */* * 把选定的内容或者插入点向下移动 * * param pos 移动的距离 *

9、/ public void moveDown(int pos) if (selection = null) selection = Dispatch.get(word, Selection).toDispatch(); for (int i = 0; i < pos; i+) Dispatch.call(selection, MoveDown); /* */* * 把选定的内容或者插入点向左移动 * * param pos 移动的距离 */ public void moveLeft(int pos) if (selection = null) selection = Dispatch.g

10、et(word, Selection).toDispatch(); for (int i = 0; i < pos; i+) Dispatch.call(selection, MoveLeft); /* */* * 把选定的内容或者插入点向右移动 * * param pos 移动的距离 */ public void moveRight(int pos) if (selection = null) selection = Dispatch.get(word, Selection).toDispatch(); for (int i = 0; i < pos; i+) Dispatch.

11、call(selection, MoveRight); /* */* * 把插入点移动到文件首位置 * */ public void moveStart() if (selection = null) selection = Dispatch.get(word, Selection).toDispatch(); Dispatch.call(selection, HomeKey, new Variant(6); public void moveEnd() if (selection = null) selection = Dispatch.get(word, Selection).toDispa

12、tch(); Dispatch.call(selection, EndKey, new Variant(6); /* */* * 从选定内容或插入点开始查找文本 * * param toFindText 要查找的文本 * return boolean true-查找到并选中该文本,false-未查找到文本 */ public boolean find(String toFindText) if (toFindText = null | toFindText.equals() return false; / 从selection所在位置开始查询 Dispatch find = word.call

13、(selection, Find).toDispatch(); / 设置要查找的内容 Dispatch.put(find, Text, toFindText); / 向前查找 Dispatch.put(find, Forward, True); / 设置格式 Dispatch.put(find, Format, True); / 大小写匹配 Dispatch.put(find, MatchCase, True); / 全字匹配 Dispatch.put(find, MatchWholeWord, True); / 查找并选中 return Dispatch.call(find, Execute

14、).getBoolean(); /* */* * 把选定选定内容设定为替换文本 * * param toFindText 查找字符串 * param newText 要替换的内容 * return */ public boolean replaceText(String toFindText, String newText) if (!find(toFindText) return false; Dispatch.put(selection, Text, newText); return true; /* */* * 全局替换文本 * * param toFindText 查找字符串 * pa

15、ram newText 要替换的内容 */ public void replaceAllText(String toFindText, String newText) while (find(toFindText) Dispatch.put(selection, Text, newText); Dispatch.call(selection, MoveRight); /* */* * 在当前插入点插入字符串 * * param newText 要插入的新字符串 */ public void insertText(String newText) Dispatch.put(selection, T

16、ext, newText); /* */* * * param toFindText 要查找的字符串 * param imagePath 图片路径 * return */ public boolean replaceImage(String toFindText, String imagePath) if (!find(toFindText) return false; Dispatch.call(Dispatch.get(selection, InLineShapes).toDispatch(), AddPicture, imagePath); return true; /* */* * 全

17、局替换图片 * * param toFindText 查找字符串 * param imagePath 图片路径 */ public void replaceAllImage(String toFindText, String imagePath) while (find(toFindText) Dispatch.call(Dispatch.get(selection, InLineShapes).toDispatch(), AddPicture, imagePath); Dispatch.call(selection, MoveRight); /* */* * 在当前插入点插入图片 * * p

18、aram imagePath 图片路径 */ public void insertImage(String imagePath) Dispatch.call(Dispatch.get(selection, InLineShapes).toDispatch(), AddPicture, imagePath); /* */* * 合并单元格 * * param tableIndex * param fstCellRowIdx * param fstCellColIdx * param secCellRowIdx * param secCellColIdx */ public void mergeC

19、ell(int tableIndex, int fstCellRowIdx, int fstCellColIdx, int secCellRowIdx, int secCellColIdx) / 所有表格 Dispatch tables = Dispatch.get(doc, Tables).toDispatch(); / 要填充的表格 Dispatch table = Dispatch.call(tables, Item, new Variant(tableIndex) .toDispatch(); Dispatch fstCell = Dispatch.call(table, Cell,

20、new Variant(fstCellRowIdx), new Variant(fstCellColIdx) .toDispatch(); Dispatch secCell = Dispatch.call(table, Cell, new Variant(secCellRowIdx), new Variant(secCellColIdx) .toDispatch(); Dispatch.call(fstCell, Merge, secCell); /* */* * 在指定的单元格里填写数据 * * param tableIndex * param cellRowIdx * param cellColIdx * param txt */ public void putTxtToCell(int tableIndex, int cellRowIdx, int cell

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1