輕鬆架起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
- 探索 PCI 轉 PMC 載板轉接卡:連線不同介面的橋樑
- ResponseTap:點選呼叫成連線線上和線下營銷的橋樑
- 二維碼生成器,連線物理與數字世界的橋樑
- 東軟徐洪利:應用型數商架起資料要素價值落地橋樑
- java 連線oracle (jdbc-odbc橋)JavaOracleJDBC
- C端產品經理的藝術:連線使用者與產品的橋樑
- Navicat Premium 15 for Mac:一鍵連線,輕鬆管理REMMac
- 輕鬆應用Linux連線校園網Linux
- 輕鬆連線 ChatGPT實現程式碼審查ChatGPT
- 讓你輕鬆實現Mac與相機的連線Mac
- 橋樑模式簡介模式
- Goja—Go 和 JavaScript 的橋樑GoJavaScript
- 樂訊通雲通訊:物聯網路卡為智慧裝置建立連線的橋樑
- Windows技巧:輕鬆連線多程序視窗之一Windows
- Callback 與 Promise 間的橋樑 —— promisifyPromise
- 讀橋樑模式,有些困惑的地方?模式
- 辦公室革命,教你輕鬆搞定輕鬆玩轉ExcelExcel
- 無線網路輕鬆配置的五個要點(轉)
- 兩位AI先驅斬獲諾獎,GPT-4o表示疑惑,同行大佬:物理學與AI的橋樑已架起AIGPT
- 輕鬆解決Github連線緩慢、圖裂問題Github
- K8s 上輕鬆搭建百萬連線的 MQTT 服務K8SMQQT
- 使用對等連線在天翼雲兩個使用者的雲網路之間架起一座天橋
- 用Google地圖做橋樑Go地圖
- 輕鬆搞懂Java中的自旋鎖Java
- 搞懂Java橋接模式,打破繼承侷限性,輕鬆實現多維變化Java橋接模式繼承
- 【轉載】java連線MYSQLJavaMySql
- 如何選擇我們的損失函式 - 連線統計推斷和問題所在領域的橋樑函式
- 淺析 Flutter 與 iOS 的檢視橋樑FlutteriOS
- 線性變換和矩陣的橋樑篇2——像的座標標示矩陣
- 輕鬆看懂Java位元組碼Java
- 中國GDG Google I/O之行所見:帶回國際創新風采,做中國開發者連線世界的橋樑Go
- Java模擬.NET的連線池 (轉)Java
- 輕鬆搞定面試中的連結串列題目面試
- 利用Docker輕鬆玩轉CassandraDocker
- 專案管理輕鬆學(轉)專案管理