try {
Runtime.getRuntime().exec("excel C:\\file.xls");
} catch (IOException ex) {
System.out.println(ex);
}
不起作用。 我必须放入excel.exe的完整路径才能工作。 如何使其通用(对于任何Excel文件夹/版本)? 当我使用Windows运行从操作系统运行相同的行时(开始 - >运行) 有用。 Java中是否有代码来模拟Windows的Run命令?
答案 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