用的是oracle 的数据库  里面有5万多条数据 然后我有个excel表格,里面也有5万多条数据 我想找出他俩个不相同的数据 
有没有好的方法 在线等

解决方案 »

  1.   

    估计会慢些,但给楼主做些参考吧
    1。做一个javabean来存单条数据,重写equal方法,每个属性都相同时true否则false
    2。准备两个HashMap,mapXLS和mapOra分别用来存储excel读取的数据和数据库中读取的数据,key=主键,value=1中的javabean对象
    3。把mapXLS中的key循环,与mapOra做比较,mapXLS.get( key).equals(mapOra.get( key)) ?           
    4。把不相同的结果的key存在List对象中                                                                     
      

  2.   

    晕,2楼搞那么复杂第一步,用工具将excel导入oracle。
    第二步,用sql一把查出来如果不是一次性的,即两边数据都会变,则:
    第一步,利用poi或jxl等,解析好excel并插入数据库表。
    第二步,用sql一把查出来
      

  3.   

    LZ都没有说清楚你是要通过什么方式来进行比较?代码还是单纯的找出结果?
    代码的方式自然要麻烦一些,无非就是一个作为基准去挨个对比另一个,或者直接用SQL语句去查询。
    如果只要结果那就简单些。
    select * 把结果导出excel文件,这些功能客户端都有。然后,用比较工具比较两个excel文件,OK,结果出来了。
      

  4.   

    其实实现方式无非是把excel搞到ora里面去,在ora中用sql比较;要么把ora的东西弄出来到excel,在excel比较。excel搞到ora里面要用poi解析excel,很麻烦,一不小心一个数据类型错了就抛异常;而且还要重新在ora建表,用jdbc一条条insert现在用第二个方案:ora-》excel
    1 用pl/sql客户端把ora的数据导出到EXCEL。非常快,不到2秒。
    2 写一个vba,操作ms的excel程序进行比较。法克,不到5秒。vba是基于vbscript的,非常简单,只要有excel就可以运行。无需任何其他第三方程序。没java都可以运行。加起来,最多10秒搞定。
      

  5.   

    EXCEL估计10秒够呛能搞定,5万条数据的文件打开就要消耗几秒,加上处理时间估计也不是小数字吧。我做过纯VBA的项目,感觉处理数据的速度并不是很理想。(也有可能是我逻辑有问题)。所以单纯的比较还是再数据库端做比较好,逻辑复杂的可以写存储过程