请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

Kosen
金牌服务用户   /  发表于:2025-4-15 18:02  /   查看:83  /  回复:5
GCExcel是否考虑支持类似于POI的SXSSworkbook的能力吗?就是可以open一个outputStream然后比如设置每隔一段缓冲区大小可以自动持久化到磁盘,就是我们的Workbook工作簿对象支持BufferedWriter类似操作。这种对于大数据量高并发情况下内存OOM的问题是一种很好的解决方案。

5 个回复

倒序浏览
Lewis
初级会员   /  发表于:6 天前
沙发
POI之所以引入SXSSworkbook,是因为默认的设计无法满足需求,所以设计了一种特殊模式;但是对于GcExcel来说,设计之初就是为了能支持百万行的数据(Excel最大行数为1048576),你可以理解为gcexcel默认就是POI的SXSSworkbook模式,只不过gcexcel用了其他的内存优化技术来防止出现OOM的情况。
回复 使用道具 举报
Kosen
金牌服务用户   /  发表于:6 天前
板凳
Lewis 发表于 2025-4-16 11:02
POI之所以引入SXSSworkbook,是因为默认的设计无法满足需求,所以设计了一种特殊模式;但是对于GcExcel来说 ...

好的,那我们先观察一下。因为之前也找GCExcel的同事帮忙测过,100万行100列占用JVM内存约1.5G,主要我们业务场景后续会有很高的并发。如果30-40的并发的话,按照目前机器配置是肯定会OOM的。那唯一的手段就是机器增大内存或者新增机器,这两项都是要增加成本的。我们是在考虑在现有资源下,还有没有技术层面的优化空间来支持高并发且规避OOM。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:6 天前
地板
好的,可以先观察一下,如果后续实际运行中出现了OOM的问题可以再发新帖讨论哈。
回复 使用道具 举报
Kosen
金牌服务用户   /  发表于:6 天前
5#
Joestar.Xu 发表于 2025-4-16 14:51
好的,可以先观察一下,如果后续实际运行中出现了OOM的问题可以再发新帖讨论哈。

好的,我觉得这个需求你们可以考虑或者调研下。GCExcel确实自己对内存的调教已经很好了,这么大数据量POI一定会OOM的,用SXSSWorkbook也特别慢。现在电子表格模块试点反响非常好,后续如果全公司推广开来,日活大几千用户,早高峰并发大几十个下载的场景是真实存在的。如果这种场景能兜住,那基本上业界也没有更复杂的场景是GCExcel搞不定的了
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:6 天前
6#
嗯嗯,这边也会反馈给产品那边,看看是否有更好方式,感谢您的支持。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部