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

时间:2010-10-20 13:33:18

标签: java excel runtime exec runtime.exec

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

不起作用。 我必须放入excel.exe的完整路径才能工作。 如何使其通用(对于任何Excel文件夹/版本)? 当我使用Windows运行从操作系统运行相同的行时(开始 - >运行) 有用。 Java中是否有代码来模拟Windows的Run命令?

4 个答案:

答案 0 :(得分:11)

为什么不尝试使用JDK6中引入的Desktop类(api doc here

public void open(File file) throws IOException

记录为您想要做的事情:

  

启动关联的应用程序以打开该文件。     如果指定的文件是目录,则启动当前平台的文件管理器以将其打开。

当然,这假设操作系统将.xls扩展名映射到Excel。然后你可以去

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

答案 1 :(得分:1)

我用 print(C c) 它适用于Windows平台

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您可以尝试使用“cmd”而不是“excel”,然后传入一系列参数。

为了便于调试,您也可以尝试使用ProcessBuilder。根据我的经验,使用它更好:http://download.oracle.com/javase/6/docs/api/java/lang/ProcessBuilder.html