博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
提取Word中指定内容
阅读量:6070 次
发布时间:2019-06-20

本文共 1317 字,大约阅读时间需要 4 分钟。

hot3.png

/** * 借助word书签及限制编辑功能提取word中指定内容 * @author David * */public class BookmarkReader {	/**	 * 基于Jacob,服务器端必需安装office	 * 请将jacob-1.18-M2-x64.dll,jacob-1.18-M2-x86.dll放至%JAVA_HOME%/jre/bin下	 */	public static void main(String[] args) {		File file = new File("D:/业务文档/测试.doc");		BookmarkReader reader = new BookmarkReader(file);		System.out.println(reader.getValue("jffddz"));		reader.close();	}	private ActiveXComponent word;	private Dispatch doc;	private Dispatch bookMarks;	public BookmarkReader(File file) {		word = new ActiveXComponent("Word.Application");		word.setProperty("Visible", new Variant(false));		Dispatch documents = word.getProperty("Documents").toDispatch();		doc = Dispatch.call(documents, "Open", file.getAbsolutePath())				.toDispatch();		bookMarks = ActiveXComponent.call(doc, "Bookmarks").toDispatch();	}	public String getValue(String key) {		Dispatch rangeItem = Dispatch.call(bookMarks, "Item", key).toDispatch();		if (rangeItem != null) {			Dispatch range = Dispatch.call(rangeItem, "Range").toDispatch();			String value = Dispatch.get(range, "Text").getString();			return value.substring(1, value.length() - 1).trim();		}		return null;	}	public void close() {		Dispatch.call(doc, "Close", new Variant(false));		word.invoke("Quit", new Variant[0]);	}}

转载于:https://my.oschina.net/javawdw/blog/336928

你可能感兴趣的文章
使用ansible工具部署ceph
查看>>
linux系列博文---->深入理解linux启动运行原理(一)
查看>>
Android反编译(一) 之反编译JAVA源码
查看>>
结合当前公司发展情况,技术团队情况,设计一个适合的技术团队绩效考核机制...
查看>>
python-45: opener 的使用
查看>>
cad图纸转换完成的pdf格式模糊应该如何操作?
查看>>
Struts2与Struts1区别
查看>>
网站内容禁止复制解决办法
查看>>
Qt多线程
查看>>
我的友情链接
查看>>
Ubuntu12.04 编译android源代码及生成模拟器经历分享
查看>>
KVM网络桥接设置方法
查看>>
Puppet学习手册:Puppet Yum安装
查看>>
我的友情链接
查看>>
ansible学习记录
查看>>
网思科技校园网计费解决方案
查看>>
我的友情链接
查看>>
携程 Apollo分布式部署
查看>>
2017 Hackatari Codeathon B. 2Trees(深搜)(想法)
查看>>
单词统计
查看>>