项目场景:
在开发中使用easyExcel来进行Excel文件的导出操作时候,出现了Can not close IO等 问题
问题描述
com.alibaba.excel.exception.ExcelGenerateException: Can not close IO.
at com.alibaba.excel.context.WriteContextImpl.finish(WriteContextImpl.java:378)
at com.alibaba.excel.write.ExcelBuilderImpl.finish(ExcelBuilderImpl.java:95)
at com.alibaba.excel.ExcelWriter.finish(ExcelWriter.java:329)
at com.alibaba.excel.write.builder.ExcelWriterSheetBuilder.doWrite(ExcelWriterSheetBuilder.java:62)
解决方案:
提示:这里填写该问题的具体解决方案:
网上看了很多方法,有该版本号码的,但是试了没用。但是相同代码,在其他项目上可以运行。后来比对发现 多了一个maven依赖,可能是该依赖引起了冲突。当把这个依赖去掉之后,发现可以正常导出了。
<dependency>
<groupId>net.sf.jmimemagic</groupId>
<artifactId>jmimemagic</artifactId>
<version>0.1.4</version>
</dependency>
因此:解决方法
- 方法1,直接删除该依赖
- 方法2,再添加新依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.0</version>
</dependency>
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>saxon-dom</artifactId>
<version>8.7</version>
</dependency>
这样就可以成功导出了