我已经从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);
}
}
答案 0 :(得分:3)
This MSDN提供了几种方法(组策略或注册表操作),用于抑制警告,但我认为这两种方法都不是特别实用。
我建议改为使用CSV,因为你只是在写一个文件。那些也是由Excel打开的。我相信你所要做的就是为你的代码中的\t
添加一个逗号。