java如何避免多次解析同一个excel
RT
1 上传excel,首先要对其中一条数据进行检测,只是一个字段检测 然后啥也不干
2 真正的开始处理excel .........
怎么做到避免需要多次解析一个xls/xlsx
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
RT
1 上传excel,首先要对其中一条数据进行检测,只是一个字段检测 然后啥也不干
2 真正的开始处理excel .........
怎么做到避免需要多次解析一个xls/xlsx
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(15)
简单粗暴点存库吧,有时间试试大家介绍的方式 感激各位...
一般情况很难 因为excel稍微改动一下就变了....是真的难
我的意思是担心存内存的时候 第二个人也传一份 内存对象就被替换了
是放在各自的内存空间,不能是共享空间了。比如放在 以当前用户Id作为主键的唯一实例的Map中 或者 当前用户的session中。
那在上传前加验证码
计算文件hash
记住
不过这种方式不适合 Excel数据行 较多的情况;不过正常情况下不会上传有太多数据的Excel文件;如果数据行实在太多,在解析Excel时可以控制行数量,太多数据行时直接返回报错信息(只支持上传最大xx行的数据文件),以避免恶意用户的非法行为。
文件大小 也是一种控制恶意行为的方式。
缓存的话爬并发啊
上传并解析内容:解析后数据对象(如 字符串数组)使用集合类(如 List)缓存起来; 后面的“数据合法性判断、数据保存“等操作都是针对集合类缓存进行的。
解析一次,直接将数据保存在 内存对象里面,使用直接从对象里面取
但是并发处理的时候不就瞎了
每解析一次xsl文件,就保存他的md5值,再次解析它之前先判断他是否已经解析过了。即是否在md5库中。
没明白,请教
记录md5