使用Apache POI操作多人共享Excel出现冲突是否为兼容性问题?
结论
Apache POI本身不兼容多用户同时访问的共享Excel文件,你遇到的问题并非代码错误导致。
原因说明
- Excel文件被其他用户打开时会触发文件锁,微软Office的共享协同编辑逻辑属于私有实现,Apache POI并未适配这类共享锁场景
- POI写入操作默认要求目标文件处于可独占写入的状态,当无法写入被锁定的原文件时,就会出现生成临时副本、全新文件的异常表现
规避方案参考
- 若业务允许,优先改用数据库存储共享数据,按需导出为Excel文件
- 写入Excel前先判断文件是否处于锁定状态,锁定时给出提示,等待其他用户关闭文件后再执行写入操作
内容的提问来源于stack exchange,提问作者Skarpo Spells
相关产品推荐
相关产品推荐

