使用带有 Java 的 Apache POI 创建 excel (.xlsx) 文件后文件损坏

File is corrupted after creating excel (.xlsx) file by using Apache POI with Java

我已经使用 Apache POI API 成功创建了 Java .xlsx 格式的 Workbook/Excel。我的代码如下,在 D 盘中创建了一个名为 "RiponAlWasim.xlsx" 的文件:

Workbook wb = new XSSFWorkbook();
FileOutputStream fileOut = new FileOutputStream("D:\RiponAlWasim.xlsx");
wb.write(fileOut);
fileOut.close();
wb.close();

当我尝试打开 "RiponAlWasim.xlsx" 时,显示文件已损坏。怎么了?

需要在工作簿中至少添加一个sheet。因此,在创建作品后sheet 以下代码运行良好:

Workbook wb = new XSSFWorkbook();
Sheet sheet1 = wb.createSheet("Ripon");
FileOutputStream fileOut = new FileOutputStream("D:\RiponAlWasim.xlsx");
wb.write(fileOut);
fileOut.close();
wb.close();

损坏的原因 excel:由于循环语句内部错误 excel 的不正确关闭

在循环中使用 try-catch 块,这样在 catch 块中

  • 关闭工作簿变量
  • 关闭文件输出流变量
  • 关闭文件输入流变量

循环后

  • 使用关闭文件输出流变量写入工作簿
  • 关闭工作簿变量
  • 关闭文件输出流变量
  • 关闭文件输入流变量

我添加了最新版本的xalan (xalan 2.7.1)