3

JTable から Excel ファイルを作成しました。それを作成するのと同じボタンで開くこともできます。しかし、プロンプトが表示されます:

開こうとしているファイルは、ファイル拡張子で指定されたものとは異なる形式です。ファイルを開く前に、ファイルが破損しておらず、信頼できるユーザーからのものであることを確認してください。ファイルを開きますか?

[OK] をクリックすると、ファイルが開きます。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);
  }
}
4

1 に答える 1

3

この MSDNには、警告を抑制するためのいくつかの方法 (グループ ポリシーまたはレジストリ操作) が示されていますが、どちらも特に実用的ではないと思います。

ファイルを作成しているだけなので、代わりに CSV を作成することをお勧めします。それらもExcelで開きます。あなたがしなければならないことは、コード内の両方の s をコンマに置き換えることだけだと思い\tます。

于 2012-10-25T14:22:10.337 に答える