繁体   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