[alibaba/easyexcel]2.1.3版本autoCloseStream设置为false也会自动关闭流

2024-05-23 860 views
1

触发场景描述 InputStream先用于读取excel,再用于上传到oss 触发Bug的代码

   EasyExcel.read(is, Order.class, listener)
                .autoCloseStream(false)
                .sheet()
                .headRowNumber(3)
                .doReadSync();

提示的异常或者没有达到的效果 上传oss的时候出现 java.io.IOException: Stream closed

回答

7

贴全异常。然后流怎么可以读取2遍?

5

是否已经解决了该问题?如果未解决 请重新打开

9

遇到同样得问题,按道理设置自动关闭流为false,就是为了避免输出多个excel到同一输出流时流被自动关闭。但在debug时发现,在WriteContextImpl.java 339行代码写入流的时候输出流就被关闭了,而AutoCloseStream的判断在WriteContextImpl.java 356才执行,此时已经关闭了流。 image

3

遇到同样得问题,按道理设置自动关闭流为false,就是为了避免输出多个excel到同一输出流时流被自动关闭。但在debug时发现,在WriteContextImpl.java 339行代码写入流的时候输出流就被关闭了,而AutoCloseStream的判断在WriteContextImpl.java 356才执行,此时已经关闭了流。 image

请问您问题解决了吗?

8

遇到同样得问题,按道理设置自动关闭流为false,就是为了避免输出多个excel到同一输出流时流被自动关闭。但在debug时发现,在WriteContextImpl.java 339行代码写入流的时候输出流就被关闭了,而AutoCloseStream的判断在WriteContextImpl.java 356才执行,此时已经关闭了流。 image

你好, 解决了吗