這篇文章將為大家詳細(xì)講解有關(guān)Java如何連接COM對(duì)象,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),呼倫貝爾網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:呼倫貝爾等地區(qū)。呼倫貝爾做網(wǎng)站價(jià)格咨詢:18980820575
問題是在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)將一種簡便的方法詳細(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)把它分享出去讓更多的人看到。
新聞名稱:Java如何連接COM對(duì)象-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://www.rwnh.cn/article14/dhhoge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、服務(wù)器托管、用戶體驗(yàn)、網(wǎng)站營銷、電子商務(wù)、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容