JFileChooser在选择文件的时候,一般要用户自己输入自己的文件名字,但是也可以在打开选择框的时候默认选择一个文件路径和文件在里面,并且显示出来了。
public void exportExcel(){
try {
String yuanshuyemian=getYuanshuyemian();
if(!"".equals(yuanshuyemian)){//如果原书页面什么都没有,则不执行导出操作
JFileChooser chooser=new JFileChooser();
FileSystemView fsv=FileSystemView.getFileSystemView();//文件系统类,此类是操作系统文件路径的类
String fileName=main.currentFile.getName();
String defaultFileName = fileName.split("\\.")[0]+".xls";
chooser.setCurrentDirectory(fsv.getDefaultDirectory());//设置默认目录 打开直接我的文档。设置默认目录是打开我的文档
chooser.setSelectedFile(new File(defaultFileName)); //设置默认文件名
chooser.setApproveButtonText("保存");//设置确定按钮的内容
chooser.setDialogTitle("导出为excel");//设置对话框的标题内容
chooser.setControlButtonsAreShown(true);//是否显示“确定”和“取消”按钮
int state=chooser.showSaveDialog(null);//弹出一个保存文件的对话框
System.out.println("弹出框状态:"+state);//每个对话框都有不同的状态
if(state==JFileChooser.APPROVE_OPTION){//如果选择确定按钮
System.out.println(chooser.getSelectedFile().getName());
File file=chooser.getSelectedFile();//选择文件
if(file.getName().toLowerCase().endsWith(".xlsx")||file.getName().toLowerCase().endsWith(".xls")){//文件名如果有后缀
getExcelModel(new File(file.getAbsolutePath().replace("xlsx", "xls")),yuanshuyemian);//只能支持xls的文件
}else{
getExcelModel(new File(file.getAbsolutePath()+".xls"),yuanshuyemian);
}
}
}
} catch (Exception e) {
// TODO: handle exception
System.out.println("导出excel出错");
e.printStackTrace();
}
}