代码拉取完成,页面将自动刷新
大数据量的时候写到outputStream 和写到某个路径下的某个文件里面都会使用很小的内存吗?
如果不是,请告知怎么做才会降低对内存的使用,同时又能达到写入大量数据的?
writeTo(Paths.get("d:/xxx/"));
writeTo(response.getOutputStream());
看上去像是做下载功能,写入到outputStream流与制作Excel的过程无关,文件较大时最好放到文件服务器上然后返回一个访问路径,前端从这个路径下载
文件生成后不大才几十兆,变成文件流,字节流估计也不大。主要是制作Excel的过程中对于内存的消耗非常大。无论您的eec还是poi还是easyExcel都说为了降低内存消耗,会将数据刷到磁盘。所以如果我一开始用这种Workbook.writeTo(response.getOutputStream()) 形式,你会不会往磁盘里面刷呢?毕竟这个response.getOutputStream()只是在内存中的。不像这种writeTo(Paths.get("d:/xxx/"))会写到某个地方;
会的,制作文件过程都会保存到临时文件中,最后再压缩到output
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论