Java Swing使用POI生成用户命名的excel文件
程序员文章站
2024-03-21 17:32:16
...
public void saveFile() {
//弹出文件选择框
JFileChooser chooser = new JFileChooser();
//后缀名过滤器
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"(*.xlsx)", "xlsx");
chooser.setFileFilter(filter);
//下面的方法将阻塞,直到【用户按下保存按钮且“文件名”文本框不为空】或【用户按下取消按钮】
int option = chooser.showSaveDialog(null);
if(option==JFileChooser.APPROVE_OPTION){ //假如用户选择了保存
File file = chooser.getSelectedFile();
String fname = chooser.getName(file); //从文件名输入框中获取文件名
//假如用户填写的文件名不带我们制定的后缀名,那么我们给它添上后缀
if(fname.indexOf(".xlsx")==-1){
file = new File(chooser.getCurrentDirectory(),fname+".xlsx");
System.out.println("renamed");
System.out.println(file.getName());
}
try {
String[] title = {"订单ID", "流水号"};
//创建HSSF工作薄
XSSFWorkbook workbook = new XSSFWorkbook();
//创建一个Sheet页
XSSFSheet sheet = workbook.createSheet();
//创建第一行(一般是表头)
XSSFRow row0 = sheet.createRow(0);
//创建列
XSSFCell cell = null;
//设置表头
for (int i = 0; i < title.length; i++) {
cell = row0.createCell(i);
cell.setCellValue(title[i]);
}
//填充50行数据
for (int i = 1; i < 50; i++) {
XSSFRow row = sheet.createRow(i);
XSSFCell cell1 = row.createCell(0);
cell1.setCellValue(new Random().nextInt(10000) % (10000 - 10 + 1) + 10);
XSSFCell cell2 = row.createCell(1);
cell2.setCellValue(new Random().nextInt(10000) % (10000 - 10 + 1) + 10);
}
//保存到本地
FileOutputStream outputStream = new FileOutputStream(file);
//将Excel写入输出流中
workbook.write(outputStream);
outputStream.flush();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
直接调用即可。
上一篇: synchronized关键字
推荐阅读
-
Java Swing使用POI生成用户命名的excel文件
-
Windows中使用Java生成Excel文件并插入图片的方法
-
Windows中使用Java生成Excel文件并插入图片的方法
-
java使用POI读取properties文件并写到Excel的方法
-
java使用POI读取properties文件并写到Excel的方法
-
Java 使用POI生成带联动下拉框的excel表格实例代码
-
Java 使用POI生成带联动下拉框的excel表格实例代码
-
java使用POI实现excel文件的导入和导出(通用方法)
-
Java如何使用POI生成联动下拉框的excel表格实例
-
java使用POI实现excel文件的导入和导出(通用方法)