我想在' 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);
}
}
请帮助!!
答案 0 :(得分:0)
发现错误应该是
Desktop dt = Desktop.getDesktop();
dt.open(new File(file));
而不是
Desktop dt = Desktop.getDesktop();
dt.open(new File(this.file));