使用默认程序打开Excel文件

我的程序成功创建并填充了Excel(.xls)文件。创建完成后,我希望在系统的默认程序(以Excel为例)中打开新文件。我该如何实现?

对于我想在记事本中打开txt文件的旧程序,我使用了以下命令:

if (!Desktop.isDesktopSupported()) {

System.err.println("Desktop not supported");

// use alternative (Runtime.exec)

return;

}

Desktop desktop = Desktop.getDesktop();

if (!desktop.isSupported(Desktop.Action.EDIT)) {

System.err.println("EDIT not supported");

// use alternative (Runtime.exec)

return;

}

try {

desktop.edit(new File(this.outputFilePath));

} catch (IOException ex) {

ex.printStackTrace();

}

当我尝试将此代码用于Excel文件时,出现以下错误:

java.io.IOException: Failed to edit file:C:/foo.xls

有什么建议吗?

回答:

尝试使用Desktop.open()而不是Desktop.edit():

Desktop dt = Desktop.getDesktop();

dt.open(new File(this.outputFilePath));

如果Desktop.open()不可用,则可以使用Windows文件关联:

Process p = 

Runtime.getRuntime()

.exec("rundll32 url.dll,FileProtocolHandler " + this.outputFilePath);

以上是 使用默认程序打开Excel文件 的全部内容, 来源链接: utcz.com/qa/408720.html

回到顶部