如何在Excel中禁止扩展警告

时间:2012-10-25 14:04:10

标签: java swing excel jtable

我已经从JTable创建了一个Excel文件。创建它的相同按钮也会打开它。但它提示了一个提示:

  

您尝试打开的文件格式与指定的格式不同   文件扩展名。验证文件是否已损坏且来自a   打开文件之前的可信用户。要打开文件吗?

单击“确定”后,文件将打开。我正在使用Office 2007并将文件保存为.xls。有没有办法从代码级别停止提示?以下是创建和打开文件的代码:

if (obj == btnExport) {
  File f = new File("Student Results");
  f.mkdir();
  try {
    TableModel model = DataBaseTable.getModel();
    FileWriter excel = new FileWriter("Student Results/" + exam  + "_"+ level + "_" + year + ".xls");
    for(int i = 0; i < model.getColumnCount(); i++){
      excel.write(model.getColumnName(i) + "\t");
    }

    excel.write("\n");

    for(int i=0; i< model.getRowCount(); i++) {
      for(int j=0; j < model.getColumnCount(); j++) {
        excel.write(model.getValueAt(i,j).toString()+"\t");
      }
      excel.write("\n");
    }

    excel.close();
    JOptionPane.showMessageDialog(this, "File Exported to " + f.getAbsolutePath(),
    "Success", JOptionPane.INFORMATION_MESSAGE);
    File opn = new File("Student Results/" + exam  + "_"+ level + "_" + year + ".xls");
    Desktop.getDesktop().open(opn);

  } catch (Exception se) {
    JOptionPane.showMessageDialog(this, se,
    "Error", JOptionPane.ERROR_MESSAGE);
  }
}

1 个答案:

答案 0 :(得分:3)

This MSDN提供了几种方法(组策略或注册表操作),用于抑制警告,但我认为这两种方法都不是特别实用。

我建议改为使用CSV,因为你只是在写一个文件。那些也是由Excel打开的。我相信你所要做的就是为你的代码中的\t添加一个逗号。