簡體   English   中英

Java - 使用runtime.getRuntime()。exec運行Excel

[英]Java - Run Excel using runtime.getRuntime().exec

try {
    Runtime.getRuntime().exec("excel C:\\file.xls");
} catch (IOException ex) {
    System.out.println(ex);
}

不行。 我必須放入excel.exe的完整路徑才能工作。 如何使其通用(對於任何Excel文件夾/版本)? 當我使用Windows運行(開始 - >運行)從操作系統運行相同的行時,它可以工作。 Java中是否有代碼來模擬Windows的Run命令?

為什么不嘗試使用JDK6中引入的具有該方法的Desktop類( 此處為 api doc)

public void open(File file) throws IOException

記錄為您想要做的事情:

啟動關聯的應用程序以打開文件。 如果指定的文件是目錄,則啟動當前平台的文件管理器以將其打開。

當然,這假設.xls擴展名由OS映射到Excel。 然后你可以去

Desktop.getDesktop().open(new File("c:\\file.xls"));

我使用Runtime rt = Runtime.getRuntime().exec("cmd.exe /C start " + *filename*它適用於Windows平台

直接調用Windows“start.exe”命令而不是Excel。 Start.exe似乎搜索路徑等。但是,如果它不在路徑中,它仍然可能找不到它。

您可以嘗試使用“cmd”而不是“excel”,然后傳入一組參數。

為了便於調試,您也可以嘗試使用ProcessBuilder。 根據我的經驗,使用它更好: http//download.oracle.com/javase/6/docs/api/java/lang/ProcessBuilder.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM