使用XSSFWorkbook导出excel在微软office中无法打开

今天遇到了在使用XSSFWorkbook导出excel在微软office中无法打开的情况,说这个excel文件损坏。但是在wps又没有出现这个问题,刚开始以为是因为不兼容微软office 2007以下的版本,后来发现是因为没有正常关闭流。
使用flush()和close()方法关闭流即可解决。

  • flush():刷新缓存,把缓存中的数据存储到硬盘,流还能继续使用。
  • close():刷新并关闭流,会先调用一次flush()方法,然后关闭流,无法再使用

注:1.当需要循环进行数据存储的时候可以调用flush()方法,最后调用close()方法。2.如果只用一次调用close()方法即可。

你可能感兴趣的:(Java,excel,close,flush)