這篇文章將為大家詳細(xì)講解有關(guān)Java如何連接COM對(duì)象,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
在陳巴爾虎等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營銷,外貿(mào)營銷網(wǎng)站建設(shè),陳巴爾虎網(wǎng)站建設(shè)費(fèi)用合理。
問題是在CSDN上一網(wǎng)友提出的將 m$ word 轉(zhuǎn)換為 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). 現(xiàn)將一種簡(jiǎn)便的方法詳細(xì)闡述于下:
1。下在Java-COM連接橋JACOB(http://danadler.com/jacob/),需要jacob.jar和jacob.dll兩個(gè)文件就可以了。并把jacob.dll所在目錄設(shè)到PATH。
2。調(diào)用程序(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");//啟動(dòng)word
String inFile = "H:Majix-1_2_2_fullsamplemy.doc";//要轉(zhuǎn)換的word文件
String tpFile = "H:Majix-1_2_2_fullsamplemy.htm";//臨時(shí)文件
String otFile = "H:Majix-1_2_2_fullsamplemy.xml";//目標(biāo)文件
boolean flag = false;
try {
app.setProperty("Visible", new Variant(false));//設(shè)置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格式保存到臨時(shí)文件
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");//啟動(dòng)excel
try {
app.setProperty("Visible", new Variant(false));//設(shè)置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();//打開臨時(shí)文件
Dispatch.invoke(workbook,"SaveAs", Dispatch.Method, new Object[]{otFile,new Variant(46)}, new int[1]);//以xml格式保存到目標(biāo)文件
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。編譯執(zhí)行(確保jacob.dll在PATH中)
H:mytest>javac -classpath jacob.jar Exam_2.java
H:mytest>java -cp jacob.jar;. Exam_2
關(guān)于“Java如何連接COM對(duì)象”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
當(dāng)前題目:Java如何連接COM對(duì)象
分享路徑:http://jinyejixie.com/article34/jjhppe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站內(nèi)鏈、小程序開發(fā)、App設(shè)計(jì)、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)