Java 中使用 JCOM 操作 Office 对象
通过使用 COM 技术,我们用微软 Office 应用程序能够建立很多应用程序扩展,但是 Java
开发人员却无法享受它带来的便利--除非他们拥有方便的 Java 访问 COM 的途径(Java-to-
COM 桥)。使用 JCom 的时候,你可以在 Java 中控制几乎所有的 COM 对象,而且它还带
有一些用于 Excel 的强大的辅助类。
在你每次编写用 HTML 表格样式或 Java 表格对象显示数据的应用程序的时候,通常都
需要带有"导出到 Excel"功能。那么头疼的问题就出现了。怎么样实现这种功能呢?在
HTML 中显示的可以在 Office 2003 中处理吗?没有这么好!你还必须支持 Office 97!
你只能去找一个符合当前需求的工具了,但是接着收到更多的要求了。"这能在 Word
中做到吗?Powerpoint 能做到吗?能不能用调制解调器拨号到远程服务器上并发布数据?
Java 无法实现这些功能是什么意思啊?Java 可以实现任何功能。"
感谢作为 Java 和 COM 桥梁的框架组件,它使你在遇到这些情况的时候都可以回
答"Yes"。Java-COM 桥梁使你能够根据自己的需要操作 Windows 组件--以前这是 VB、C++
和.NET 开发人员的领地。你通过实现一个与 DCOM 后端(back end)对话的 Java 前端
(front end),可以远离端对端( end-to-end)的 COM 系统。在本文的末尾,你可以使用
其中一个 Java-to-COM 桥:它可以被命名为 JCom。
Excel 基础知识
开始之前,你需要首先从 Sourceforge 网站下载 API。它包含了 JCom 所使用的 Java 类
的所有源代码、C++代码和 JCom 用于配置 Java 和 COM 的编译好的 DLL。把这个 DLL 放
到你的 Java 主目录的/bin/目录下面,否则会出现问题。同时,为了不出现问题,还要正确
地设置 JAVA_HOME 环境变量。JCom 的大多数文档目前都是用日语写的,但是翻译工作
正在进行中,因此以后会有些改进的。
下载和安装过程完成以后,用列表 1 中的代码试一试。这段代码会建立到 Excel 的
JCom 接口,并把"Hello World"写入第一个单元格中。你可以看到如图 1 所示的结果。尽管
JCom 是一个通用的 COM 类库,但是还是带有很多用于 Excel 的辅助类,这是因为 Excel
可能是最常用的自动化 COM 应用程序。这些辅助类可以为我们节省很多时间,它们使
JCOM 成为一个更好的类库了。
列表 1:开始使用 JCOM 和 Excel
import jp.ne.so_net.ga2.no_ji.jcom.excel8.*;
import jp.ne.so_net.ga2.no_ji.jcom.*;
public class testSimple
{