Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用JavaFX打开Excel文件_Java_Excel_Javafx - Fatal编程技术网

如何用JavaFX打开Excel文件

如何用JavaFX打开Excel文件,java,excel,javafx,Java,Excel,Javafx,我正在做一个项目,在这个项目中,用户必须提交一个包含数据的文档。程序读取数据并绘制一些图表。它可以很好地工作,但我想在用户保存Excel文件后打开它…所以我知道Excel文件的目录,但我不知道如何在javaFX中打开Excel文件,有人能帮我吗 善良的问候JavaFX实现这一点的方法是 File excelFile = new File("/path/to/excel/file"); getHostServices().showDocument(excelFile.toURI().toURL()

我正在做一个项目,在这个项目中,用户必须提交一个包含数据的文档。程序读取数据并绘制一些图表。它可以很好地工作,但我想在用户保存Excel文件后打开它…所以我知道Excel文件的目录,但我不知道如何在javaFX中打开Excel文件,有人能帮我吗


善良的问候

JavaFX实现这一点的方法是

File excelFile = new File("/path/to/excel/file");
getHostServices().showDocument(excelFile.toURI().toURL().toExternalForm());
getHostServices()
是在
应用程序中定义的,因此如果要在另一个类(例如控制器)中执行此操作,则必须安排另一个类才能访问主机服务

例如


使用控制器中的明显方法,并适当修改上述代码。

您能澄清一下吗?您想用Java代码读取Excel文件的内容,还是用Java代码创建Excel文件?或者您只是有一个要用Excel自动打开的现有Excel文件吗?我想用Excel打开一个现有文件:)@MiLo Desktop.getDesktop().edit(文件路径);是否应该这样做将Desktop.getDesktop()打开(文件路径)执行此任务?是的,它可以工作!谢谢!美好的我不知道有一种javaFx方法可以打开文档。谢谢你的回答@James_D这个答案对于直接从应用程序类的start方法加载fxml非常有效。但是,如果我们想在应用程序中稍后使用HostServices呢?我有点陌生,所以不确定是可以在这里问,还是我必须问一个单独的问题?
public class MyApp extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        FXMLLoader loader = new FXMLLoader(...);
        Parent root = loader.load();
        MyController controller = loader.getController();
        controller.setHostServices(getHostServices());
        //... setup and show scene and stage...
    }
}