- 5
- 0
- 约2.33万字
- 约 33页
- 2017-06-07 发布于湖北
- 举报
第三章
Java 與Microsoft Office
如果你相信了他的經驗,那麼你的極限就會侷限在他的經驗之中。
█簡介
記得不久前,在網路上看到一位網友寫著: 「Java 把程式設計師和底層作業
系統隔開,因而讓不同平台上的程式可以用同一種方式開發。但是也因為如此,
Java 讓程式設計師和底層作業系統之間變得毫無關聯,使得很多原本用Visual
Basic 、Delphi 等原生開發工具很容易做到的事情,在Java 中卻難以做到。」
其實,就基本的概念來說,這句話是正確的,也說明了Java 在某些功能上的確
力不從心。可是,這不就是Java 之所以為Java 的理由嗎?
對實際參與 Java 應用程式開發的工程師來說,往往因為某些特殊因素(通
常是客戶和老闆的要求) ,需要完成一些與作業系統結合較緊密的程式,比方說
要從Java 應用程式裡頭去操作Windows Registry 、或是要讓Java 應用程式
可以操作未公開格式的 Microsoft WORD 文件檔。這些功能都是標準的Java
類別函式庫沒有提供的,所以,除了到網路上搜尋是否有廠商提供類似功能的元
件之外,工程師幾乎一籌莫展。這個時候,JNI(Java Native Interface)就是最
好的萬靈丹。
如果要從Java 應用程式裡頭去操作Windows Registry ,那麼我們只要寫
個簡單的轉接器(adapter) ,讓Java 叫用那些被包裝好、用來操控Windows
Registry 的Win32 API 即可,如下圖所示:
Java程式(Java)
Windows Registry
轉接器(Java)
JNI
動態聯結函式庫(C++) Win32 API
然而,如果要讓Java 應用程式可以操作未公開格式的 Microsoft WORD
文件檔,可就沒有那麼簡單了,在無法得知檔案格式的情況下,我們該如何解決
呢? 於是,問題回到基本面: 「既然只有WORD 才能讀取WORD 文件檔,那我
們就請 WORD 幫我們讀不就好了嗎? 」,此時,就必須要動用到OLE
Automation 技術,方法如下圖所示:
Java程式(Java) WORD文件
橋接用介面類別(Java)
JNI
WORD Container
動態聯結函式庫(C++)
Component
OLE
Automation
本文所要討論的重點,就是如何在 Java 應用程式之中使用 Microsoft
Office 之中所提供的軟體元件。本文的程式碼純粹為了便於展示用,沒有做過
任何最佳化。如果您要讓程式碼變得更有擴充性,請使用適當的Design Pattern
即可,程式基本的運作原理是不變的。
█本章目的
本章將教大家從無到有製作一個「套表列印模組」。此模組的功能說明如下:
您可能关注的文档
- Java程序员面试宝典第5讲.pdf
- 机械设计基础第三讲 平面连杆机构.ppt
- 机械原理2篇课件.pdf
- 机械原理第三讲作业答案.ppt
- Java初学 简单课件 第2讲 Java语言基础.ppt
- 机械制图全部符号与表示含义.doc
- 第八讲挠性传动+.ppt
- 第八十三讲 贱金属杂项制品.doc
- Java初学 简单课件 第3章 类的封装、继承及多态.ppt
- Java大学实用教程第四讲.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 传媒法规与伦理教学课件(共22章)新闻伦理研究综述.pdf VIP
- 汽车行驶记录仪产品使用说明书.PDF VIP
- 2026年成都市美容医疗诊所医美项目安全规范运营可行性研究报告.docx VIP
- ocean培训petrel re快速入门工作流程.pdf VIP
- (四年级奥数班讲义.doc VIP
- 单病种病案数据填报指导手册.doc
- 企业 IPO 筹备方案(最新版,附时间表 + 材料).docx VIP
- 深圳初三数学联考模拟试题.docx VIP
- 高考历史二轮总复习精品课件 第四板块 世界现代史 第十七讲 现代科技的发展与当今世界发展的趋势.ppt VIP
- 2024年菏泽职业学院单招数学考试模拟试题及答案解析.docx VIP
原创力文档

文档评论(0)