在java中保存并打开excel文件

时间:2015-06-03 09:02:58

标签: java

我想在' Jtable'上导出数据。 excel文件,导出成功后会显示按摩对话框,用户可以选择是否打开保存的文件。我已经想出了如何保存文件。但我不确定如何打开我刚刚保存的文件。为了做到这一点,我相信这两行需要修复。

Desktop dt = Desktop.getDesktop();
dt.open(new File(this.file));

到目前为止,我的编码如下。

private void ExportbuttonActionPerformed(java.awt.event.ActionEvent evt) {                                             
    try{
        JFileChooser fc = new JFileChooser();
        int option = fc.showSaveDialog(SearchGUI.this);
        if(option == JFileChooser.APPROVE_OPTION){
            try{
                String filename = fc.getSelectedFile().getName(); 
                String path = fc.getSelectedFile().getParentFile().getPath();

                int len = filename.length();
                String ext = "";
                String file = "";

                if(len > 4){
        ext = filename.substring(len-4, len);
                }

                if(ext.equals(".xls")){
        file = path + "\\" + filename; 
                }else{
        file = path + "\\" + filename + ".xls"; 
                }
                toExcel(PhoneBook, new File(file));
                int answer = JOptionPane.showConfirmDialog(null, "Would you like to open the exported file?", "Successfully exported!", option);
                if (answer == JOptionPane.YES_OPTION) {
                    try {
                        Desktop dt = Desktop.getDesktop();
                        dt.open(new File(this.file));

                    } catch (Exception e ){
                                    JOptionPane.showMessageDialog(null, e);
                    }
                }

                }catch(Exception e){
                                JOptionPane.showMessageDialog(null, e);
                }
        }
    }
    catch(Exception e){
    JOptionPane.showMessageDialog(null, e);
    }
}

请帮助!!

1 个答案:

答案 0 :(得分:0)

发现错误应该是

Desktop dt = Desktop.getDesktop();
dt.open(new File(file));

而不是

Desktop dt = Desktop.getDesktop();
dt.open(new File(this.file));