千家信息网

Java如何连接COM对象

发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,这篇文章将为大家详细讲解有关Java如何连接COM对象,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。问题是在CSDN上一网友提出的将 m$ word 转换为 XML
千家信息网最后更新 2025年11月09日Java如何连接COM对象

这篇文章将为大家详细讲解有关Java如何连接COM对象,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。


问题是在CSDN上一网友提出的将 m$ word 转换为 XML 的Java程序问题(.NET/expert/topic/1091/1091620.xml)or(http://search.csdn.net/expert/topic/54/5406/2002/10/12/1091620.htm">http://www.csdn.net/expert/topic/1091/1091620.xml)or(http://search.csdn.net/expert/topic/54/5406/2002/10/12/1091620.htm). 现将一种简便的方法详细阐述于下:
1。下在Java-COM连接桥JACOB(http://danadler.com/jacob/),需要jacob.jar和jacob.dll两个文件就可以了。并把jacob.dll所在目录设到PATH。
2。调用程序(Exam_2.java)如下:
import java.io.File;
import com.jacob.com.*;
import com.jacob.ActiveX.*;

public class Exam_2 {

public static void main(String[] args) {

ActiveXComponent app = new ActiveXComponent("Word.Application");//启动word
String inFile = "H:Majix-1_2_2_fullsamplemy.doc";//要转换的word文件
String tpFile = "H:Majix-1_2_2_fullsamplemy.htm";//临时文件
String otFile = "H:Majix-1_2_2_fullsamplemy.xml";//目标文件
boolean flag = false;
try {
app.setProperty("Visible", new Variant(false));//设置word不可见
object docs = app.getProperty("Documents").toDispatch();
Object doc = Dispatch.invoke(docs,"Open", Dispatch.Method, new Object[]{inFile,new Variant(false), new Variant(true)}, new int[1]).toDispatch();//打开word文件
Dispatch.invoke(doc,"SaveAs", Dispatch.Method, new Object[]{tpFile,new Variant(8)}, new int[1]);//作为html格式保存到临时文件
Variant f = new Variant(false);
Dispatch.call(doc, "Close", f);
flag = true;
} catch (Exception e) {
e.printStackTrace();
} finally {
app.invoke("Quit", new Variant[] {});
}

if ( flag ) {
app = new ActiveXComponent("excel.Application");//启动excel
try {
app.setProperty("Visible", new Variant(false));//设置excel不可见
Object workbooks = app.getProperty("Workbooks").toDispatch();
Object workbook = Dispatch.invoke(workbooks,"Open",Dispatch.Method,new Object[]{tpFile,new Variant(false), new Variant(true)}, new int[1]).toDispatch();//打开临时文件
Dispatch.invoke(workbook,"SaveAs", Dispatch.Method, new Object[]{otFile,new Variant(46)}, new int[1]);//以xml格式保存到目标文件
Variant f = new Variant(false);
Dispatch.call(workbook, "Close", f);
} catch (Exception e) {
e.printStackTrace();
} finally {
app.invoke("Quit", new Variant[] {});
try {
File file = new File(tpFile);
file.delete();
} catch (Exception e) {
}
}
}
}
}
3。编译执行(确保jacob.dll在PATH中)
H:mytest>javac -classpath jacob.jar Exam_2.java
H:mytest>java -cp jacob.jar;. Exam_2

关于"Java如何连接COM对象"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

文件 篇文章 对象 更多 格式 目标 程序 问题 不错 实用 简便 两个 内容 所在 文章 方法 是在 目录 知识 网友 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全项目管理体系 黑龙江新希望网络技术开发 南通游戏软件开发怎么样 邮箱服务器错误请稍后再试 数据库导出文件太大打不开 网络安全技术与实践作业 360网络安全响应中心在哪 奉贤区口碑好的软件开发代理价格 学习数据库的作用和意义 浪潮服务器插槽查看 联咏行车软件开发是什么版本 海康8700平台服务器 带网络安全模式如何开qq 服务器带宽访问量计算 网络安全等级保护条例正式版下载 网络安全技术与人工智能 步道乐跑服务器崩了多久能恢复 向数据库添加的表应该 如何删除sql数据库 无锡南京服务器规格 查看某个数据库所有表命令 网络安全预警级别可分为 超级电容模组监控系统软件开发 什么sql数据库触发器 京东 淘宝 数据库设计 奉贤区口碑好的软件开发代理价格 济南易启巴巴网络技术有限公司 服务器攻击手段与防护 服务器做read 数据库软件多少钱一个
0