论坛首页 Java企业应用论坛

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

浏览 18792 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (7) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-07-28   最后修改:2009-07-28
以前我们的管理系统用poi可以通过一个excel文件批量导入手机号码,在这个过程中需要验证号码格式、是否重复、系统是否存在等,因为效率问题,所以最后限定只导入excel文件的第一列,也就是65535行数据。

有一点要说一下,系统的数据量非常大,关联表的数据都是亿级。

现在有这么一个需求,要支持多个excel文件同时导入,不知道各位是否有好的建议?要从效率和空间上考虑,还好我们的服务器是4G内存。

我能想到的仅是多线程来处理,不至于处理过程要等半天。

any others?
   发表时间:2009-07-28  
前不久一个项目让我做一个导入模板,需要关联的数据也很多。我最初的设计师这样
把关联的和检查这一部分任务转嫁到客户端去做。excel模板被保护起来了不允许直接
输入只能通过我的VBA程序去输入和删除。这样VBA程序起到了JavaScript脚本的作用
如果要求不是很严格的话,后台的验证逻辑能简化不少
0 请登录后投票
   发表时间:2009-07-29  
直接在数据库里导
0 请登录后投票
   发表时间:2009-07-29  
我认为多线程不一定就会使速度快起来
0 请登录后投票
   发表时间:2009-07-29  
找个DBA看有什么办法没有?
0 请登录后投票
   发表时间:2009-07-29  
或者大家有没有更好的只读excel的组件???如果不是我使用有问题的话,这种情况下好像poi和jxl都不太满足我的需求.
0 请登录后投票
   发表时间:2009-07-29  
eddysheng 写道
或者大家有没有更好的只读excel的组件???如果不是我使用有问题的话,这种情况下好像poi和jxl都不太满足我的需求.


感觉你遇到的问题重点不是如何解析excel,而是如何高效率的把数据导入数据库中。
多线程导入的话 首先要解决在同时导入的excel中重复的号码如何处理?
0 请登录后投票
   发表时间:2009-07-30  
oracle 的话 先转成文本 然后用sqlldr
0 请登录后投票
   发表时间:2009-07-30  
转文本或CSV,导入临时表,异步执行校验,完了再通知!
0 请登录后投票
   发表时间:2009-07-30  
所以最后限定只导入excel文件的第一列

那就没有必要用excel了

直接用TXT
0 请登录后投票
论坛首页 Java企业应用版

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