问题描述
现在做个项目,要把 Excel 通过 java web 导入到数据库,在 action 里 java 内存泄漏 (20 W 条数据)。于是想到把文件上传到服务器,然后 java 直接连接 Excel 本身数据库读取数据 insert 到 SQLSERVER 数据库 不知可行不,有没有更好的建议
解决方案
转为CSV上传,可以用SuperCSV读或者用POI分段读取EXCEL
解决方案二:
1 增大jvm 2 任何读取大的数据都不应该一次性读取,而是需要分批次处理,也就是一次处理几千条数据条数。
解决方案三:
如LS所说,转为CSV是最好的。因为是要往DB存的,可见只是为了保存数据,不需要格式和报表,没必要使用Excel,通过Excel来处理太得不偿失了。通过CSV来处理,手动切分都很容易,使用NIO,反正不要一次性读入内存。
解决方案四:
excel不能经过jvm,经过jvm的话依然会内存溢出,按照你的思路,你尝试下这个方法。http://www.cnblogs.com/oneword/archive/2009/12/14/1623586.html,insert into table select ...
时间: 2024-10-24 09:22:34