当前位置: 首页 > 面试题库 >

使用默认程序打开Excel文件

宋琛
2023-03-14
问题内容

我的程序成功创建并填充了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);


 类似资料:
  • 问题内容: 我想为用户提供他要编辑文件的任何选项,如何使用特定文件类型的默认程序打开文件?我需要它与Windows和Linux一起使用,但是Mac选项也很棒。 问题答案: 正如PSkocik所说,首先检测平台并获取命令行: 第二,执行命令行,然后输入路径

  • 问题内容: 如何使用Java中的默认关联程序打开文件?(例如电影文件) 问题答案: 你可以使用Desktop.getDesktop().open(File file)。 似乎无法使用java.awt.Desktop,必须区分以下操作系统:Windows: Linux: 苹果电脑: HTH。显然,这不是便携式的…

  • 问题内容: 我想在python 3.5的默认应用程序中打开文件,特别是在记事本中打开“ screen.txt”。 我已经搜索了互联网,并找到了大多数答案。我用文件的路径尝试了此操作,但返回了一个错误,提示“行继续符后出现意外字符”。我尝试了没有文件路径的尝试,只是文件名,但仍然无法正常工作。 这个错误是什么意思?我从未见过。 请提供打开有效的.txt文件的解决方案。 编辑:我在受限(学校)计算机上

  • 我正在使用以下代码打开带有defaut配置文件设置的edge: 但我得到这个错误: PS C:\Users\PopA2

  • 我想从缺省的图库中选择文件,如图像,视频,但当我使用下面的函数打开图库时,它也给了我一些不必要的选项来选择文件,如“文件管理器,文件管理器”。这些应用程序安装在我的电话上,我不想要那些应用程序时,我打开和选择媒体文件。 plz帮助

  • 问题内容: 我一直在寻找一种方法,让用户将我的程序设置为默认值,以便在一段时间内打开文件,却一无所获。我有一个应该在Mac,Windows和Linux上通用的程序,所以我不想使用仅适用于一个OS的方法。那么,如何使用户能够将Java应用设置为默认文件打开器?我会使用桌面类吗? 问题答案: 没有Java不支持此功能。您将需要为每个要使用其本机语言(c ++,目标c等)支持的OS编写一个小型应用程序,