论坛首页 Java企业应用论坛

征求方案-关于多个excel,大数据量同时导入

浏览 18853 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (7) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-08-03  
你好,你的问题我曾经遇到过。
那个时候也在寻求好的解决办法,因为数据过多导致内存不足,添加硬件明显是解决不了问题。

目前有2个解决的办法:
1.把execl转换成CSV格式,在程序里转换,这个很好解决。这个格式导入大量数据的时候不至于一下子崩溃。

2.批量导入。读入数据后,每次导入5000行 或者1千行。只有在导入数据库的时候才会造成内存的不足。
效验应该没有关系。
可以试试批量导入,这是比较可行的方法。其他目前没有 具体的可行性。JXL也可以 比poi要稳定些
0 请登录后投票
   发表时间:2009-08-04  
ican 写道
1、把excel文件上传到服务器,提示用户上传成功;
2、启动一个线程,把数据导入到临时表,返回导入成功,删除上传excel文件;如果导入失败,提示用户导入失败,删除上传excel文件;
3、利用存储过程或其他纯sql语句来验证临时表中的数据,验证有错,清空临时表中数据,返回错误信息。


呵呵 以前做移动的项目的时候也遇到过一样的情况,也是采用这样的方案,效率还可以。
0 请登录后投票
   发表时间:2009-08-05  
试试ODBC
0 请登录后投票
   发表时间:2009-08-05  
把excel 程序处理成csv文件,在做批量导入处理,这样比excel效率要高的多,验证可以用其他方式处理 比如:利用存储过程或其他纯sql语句来验证临时表中的数据,验证有错,清空临时表中数据,返回错误信息。就可以
0 请登录后投票
   发表时间:2009-08-05  
看来大家在这方面经验还不少啊
看了大家的回复,我准备按照以下几步来改进:
1。用户选择完excel文件提交后,程序将各个文件保存到server,返回提示:文件已经接收,正在等待处理。。。请返回列表页面查看处理状态。
2。文件保存到server后立刻触发一线程处理这些文件。
2.1。改进poi读取excel的方式,采用更加高效的方法。
2.2。采用正则表达式进行合法性校验,失败的批量入失败表。
2.3。数据存入临时表,调用存储过程进行存在性等其他校验,失败的存入失败表,正确的导入成功表。
2.3。处理完毕,更改状态字段。

3。用户可以查看这个号码组的状态,同时也可以导出出错的号码列表。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics