1:首先把Excel中的文本复制到txt中,复制如下:

A表:

证件号                           工号  姓名

310110xxxx220130004 101 傅家宜
310110xxxx220130005 102 顾音琪
310110xxxx220130006 103 郭加峤
310110xxxx220130007 104 胡奕蕾
310110xxxx220130010 105 凌家蔚
310110xxxx220130011 106 卢彦菁

B表:

证件号                           工号  姓名

310110xxxx220130004 111 傅家宜
310110xxxx220130005 102 顾音琪
310110xxxx220130006 103 郭嘉峤
310110xxxx220130007 104 胡奕蕾
310110xxxx220130010 105 凌家蔚
310110xxxx220130012 107 潘家莹

2:代码和运行结果如下:

 package aa;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.Hashtable;
import java.util.Map.Entry; public class DuplicateItem {
public static Hashtable<String, String> readTxtFile(String filePath){
Hashtable<String,String> table =new Hashtable<String, String>();
try {
String encoding="GBK";
File file=new File(filePath);
if(file.isFile() && file.exists()){
InputStreamReader read = new InputStreamReader(
new FileInputStream(file),encoding);
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while((lineTxt = bufferedReader.readLine()) != null){
String key = lineTxt.substring(0, lineTxt.indexOf("\t"));
String value = lineTxt.substring(lineTxt.indexOf("\t")+1);
table.put(key.trim(), value.trim());
}
read.close();
}else{
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
}
return table;
} public static void printall(Hashtable<String,String> ht, Hashtable<String, String> ht2){
for(Entry<String, String> en : ht.entrySet()){
if(null == ht2.get(en.getKey())){
System.out.println("\n\tB中没有A中value为" + en.getValue().replace("\t", "") + "的项\n");
}else if(!en.getValue().equals(ht2.get(en.getKey()))){
System.out.println("A中value为: " + en.getValue().replace("\t", "") + "\t与B中 "+ ht2.get(en.getKey()).replace("\t", "") +" 不同");
} } for(Entry<String, String> en2 : ht2.entrySet()){
if(ht.get(en2.getKey()) == null){
System.out.println("\n\tA中没有B中value为" + en2.getValue().replace("\t", "") + "的项\n");
}else if(!en2.getValue().equals(ht.get(en2.getKey()))){
System.out.println("B中value为: " + en2.getValue().replace("\t", "") + "\t与A中 "+ ht.get(en2.getKey()).replace("\t", "") +" 不同");
} }
} public static void main(String argv[]){
Hashtable<String,String> table =new Hashtable<String, String>();
Hashtable<String,String> table2 =new Hashtable<String, String>();
String filePath = "C:\\Users\\Administrator\\Desktop\\c.txt";
String filePath2 = "C:\\Users\\Administrator\\Desktop\\d.txt";
table = readTxtFile(filePath);
table2 = readTxtFile(filePath2);
if(table != null && table2 != null){
printall(table,table2);
} }
}

使用Eclipse在Excel中找出两张表中相同证件号而姓名或工号却出现不同的的项的更多相关文章

  1. mysql 如何找出两张表之间的关系

    分析步骤: #1.先站在左表的角度去找 是否左表的多条记录可以对应右表的一条记录,如果是,则证明左表的一个字段foreign key 右表一个字段(通常是id) #2.再站在右表的角度去找 是否右表的 ...

  2. Java - Collection 高效的找出两个List中的不同元素

    如题:有List<String> list1和List<String> list2,两个集合各有上万个元素,怎样取出两个集合中不同的元素? 方法1:遍历两个集合 public ...

  3. Java Collection - 003 高效的找出两个List中的不同元素

    如题:有List<String> list1和List<String> list2,两个集合各有上万个元素,怎样取出两个集合中不同的元素? 方法1:遍历两个集合 public ...

  4. python——快速找出两个电子表中数据的差异

    最近刚接触python,找点小任务来练练手,希望自己在实践中不断的锻炼自己解决问题的能力. 公司里会有这样的场景:有一张电子表格的内容由两三个部门或者更多的部门用到,这些员工会在维护这些表格中不定期的 ...

  5. python:找出两个列表中相同和不同的元素(使用推导式)

    #接口返回值 list1 = ['张三', '李四', '王五', '老二'] #数据库返回值 list2 = ['张三', '李四', '老二', '王七'] a = [x for x in lis ...

  6. 389. Find the Difference 找出两个字符串中多余的一个字符

    [抄题]: Given two strings s and t which consist of only lowercase letters. String t is generated by ra ...

  7. 高效的找出两个List中的不同元素

    /* * TestList.java * Version 1.0.0 * Created on 2017年12月15日 * Copyright ReYo.Cn */ package reyo.sdk. ...

  8. 给定一个值S,在有序数组中找出两个元素A和B,使 A+B = S.

    在网上看到过一个面试题,感觉挺有意思,看别人的代码写的逻辑不够谨慎,重写了一个,较真了又... package com.array7.algorithm; public class Algorithm ...

  9. 在数组中找出两数之和为10的所有组合(JAVA)

    /*利用冒泡排序实现*/ import java.util.Scanner;public class Paixun { public static void main(String[] args) { ...

随机推荐

  1. Delete 命令详解

    cp:复制文件 /cp -r:复制目录  /bin/cp -f: 复制文件并覆盖已有文件(写命令的绝对路径/bin/)  /cp /ect/passwd .:将其他文件复制到当前目录  /-n :不要 ...

  2. redis咋么实现分布式锁,redis分布式锁的实现方式,redis做分布式锁 积极正义的少年

    前言 分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁.虽然网上已经有各种介 ...

  3. Mysql5.7.20使用group by查询(select *)时出现错误--修改sql mode

    使用select * from 表 group by 字段 时报错 错误信息说明: 1055 - Expression #1 of SELECT list is not in GROUP BY cla ...

  4. Qt编写QUI皮肤生成器

    用Qt写项目写多了,为了满足不同客户的需求,需要定制不同样式的界面,QUI皮肤生成器应运而生.思考这个工具的架构花了一年时间,如何从复杂的配色方案中提取出共性,然后将共性转为具体的QSS文件.思考架构 ...

  5. mac安全权限解决

    如果有以下提示的,并不是文件损坏了,而是macOS Sierra新系统取消了安装本地程序的功能.   解决办法如下: 1.首先打开终端(找不到哪里打开终端 command+空格 搜索 "终端 ...

  6. js遍历 子节点 子元素

    Js 节点 子元素 属性 方法 // 添加子节点前 删除所有子节点 var usernameEle = document.getElementById("username"); v ...

  7. java自动化测试-http请求post

    继上文的get请求http://www.cnblogs.com/xuezhezlr/p/7667995.html的简单讲解后,这篇文章大概说一下我所遇到的主要的post请求以及他的测试代码 上文介绍到 ...

  8. JAVA类的创建: 创建JAVA的类 ,JAVA的字段,JAVA类的方法

    1. 创建Java的类 如果说Java的一切都是对象,那么类型就是决定了某一类对象的外观与行为.可是类型的关键字不是type,而是class,创建一个新的类型要用下面的代码: 1 2 3 class ...

  9. [补充资料] 手动搭建 Cloudera 集群

    本课主题 集群搭建 设置 Web 服务器 启动 ClouderManager 登入 Cloudera Manager 引言 这部份是一个补充资料,记录如何安装 Cloudera 服务器 集群搭建 查看 ...

  10. [Spark内核] 第36课:TaskScheduler内幕天机解密:Spark shell案例运行日志详解、TaskScheduler和SchedulerBackend、FIFO与FAIR、Task运行时本地性算法详解等

    本課主題 通过 Spark-shell 窥探程序运行时的状况 TaskScheduler 与 SchedulerBackend 之间的关系 FIFO 与 FAIR 两种调度模式彻底解密 Task 数据 ...