輕鬆架起Java連線COM物件的橋樑 (轉)
問題是在CSDN上一網友提出的將 m$ 轉換為 的問題(/expert/topic/1091/1091620.xml)or(">)or(). 現將一種簡便的方法詳細闡述於下:
1。下在Java-COM連線橋JACOB(),需要jacob.jar和jacob.dll兩個就可以了。並把jacob.dll所在目錄設到PATH。
2。程式(Exam_2.java)如下:
import java.io.File;
import com.jacob.com.*;
import com.jacob..*;
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不可見
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(".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
以上是我為解決將 m$ word 轉換為 xml 的java程式問題的通用實現的通用方法,其他COM也可以一樣的解決。如有問題請E:zlyperson@163.net
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1003023/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 輕鬆架起Java連線COM物件的橋樑(續二) (轉)Java物件
- 開源,架起理想和現實之間的橋樑
- BeanPostProcessor——連線Spring IOC和AOP的橋樑BeanSpring
- ResponseTap:點選呼叫成連線線上和線下營銷的橋樑
- java 連線oracle (jdbc-odbc橋)JavaOracleJDBC
- Navicat Premium 15 for Mac:一鍵連線,輕鬆管理REMMac
- 輕鬆應用Linux連線校園網Linux
- 橋樑模式簡介模式
- 讓你輕鬆實現Mac與相機的連線Mac
- 樂訊通雲通訊:物聯網路卡為智慧裝置建立連線的橋樑
- Callback 與 Promise 間的橋樑 —— promisifyPromise
- 讀橋樑模式,有些困惑的地方?模式
- 辦公室革命,教你輕鬆搞定輕鬆玩轉ExcelExcel
- 無線網路輕鬆配置的五個要點(轉)
- 輕鬆解決Github連線緩慢、圖裂問題Github
- K8s 上輕鬆搭建百萬連線的 MQTT 服務K8SMQQT
- 使用對等連線在天翼雲兩個使用者的雲網路之間架起一座天橋
- 用Google地圖做橋樑Go地圖
- 輕鬆搞懂Java中的自旋鎖Java
- 搞懂Java橋接模式,打破繼承侷限性,輕鬆實現多維變化Java橋接模式繼承
- 如何選擇我們的損失函式 - 連線統計推斷和問題所在領域的橋樑函式
- 【轉載】java連線MYSQLJavaMySql
- 淺析 Flutter 與 iOS 的檢視橋樑FlutteriOS
- 線性變換和矩陣的橋樑篇2——像的座標標示矩陣
- 中國GDG Google I/O之行所見:帶回國際創新風采,做中國開發者連線世界的橋樑Go
- 輕鬆看懂Java位元組碼Java
- Java模擬.NET的連線池 (轉)Java
- 輕鬆搞定面試中的連結串列題目面試
- GraphQL-前端開發的利劍與橋樑前端
- android UI結構 (2)ViewRoot的橋樑作用AndroidUIView
- 利用Docker輕鬆玩轉CassandraDocker
- 專案管理輕鬆學(轉)專案管理
- 輕鬆學習 JavaScript (4):函式中的 arguments 物件JavaScript函式物件
- Flutter與webview通訊橋樑開發FlutterWebView
- SQL與NoSQL,資料橋樑SqoopSQLOOP
- VMware Workstation 下進行 橋連線
- 輕鬆理解建構函式和原型物件函式原型物件
- 用cz-relax 輕鬆配置commit友好的倉庫MIT