以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求如何核对两个EXCEL中的姓名和身份证号是否一致  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=14645)

--  作者:阿亚亚休
--  发布时间:2011/11/27 15:31:00
--  求如何核对两个EXCEL中的姓名和身份证号是否一致
我是新手,有两个EXCEL,

EXCEL1中含全部人员已核对无误的身份证号、姓名等信息,

EXCEL2中含部分人员待核对的身份证号、姓名等信息,

问如何将EXCEL1、EXCEL2导入狐表,对比EXCEL2中身份证号、姓名是否与EXCEL1一致?


--  作者:hanxuntx
--  发布时间:2011/11/27 15:45:00
--  [求助]是否可以直接操作_SortKey的值进行排序
用文本对比软件吧
--  作者:czy
--  发布时间:2011/11/27 19:41:00
--  
导入狐表后就很好处理了。
--  作者:程兴刚
--  发布时间:2011/11/27 19:54:00
--  

也不好处理,没有标尺,以哪个为准:

 

以姓名为对比标准但有重复,以身份证号码为准,但有错误,系统会把错误的身份证号码认定为另一个新的人员,所以,操作过程的严谨性还是很重要,银行系统的身份证号码录入都还需要人工核对呢。

 

现在唯一的办法,导入后,利用循环,按照表2的身份证号码,到表1中调用其他信息,调不出来的(查不到对应的其他信息的)则通过人工手动修改,表2的其他信息出身份证号码外,其他信息都将被从表1调进来的信息覆盖!


--  作者:czy
--  发布时间:2011/11/27 20:31:00
--  

对比EXCEL2中身份证号、姓名是否与EXCEL1一致

条件明确啊。按条件比对,EXCEL2错不关狐表的事。


--  作者:yangming
--  发布时间:2011/11/28 11:08:00
--  
可以做到,只要有一组数据是正确的,对比两组不同就算是有错了,我已做好了,我的办法是将两组EXCEL"表数据加截到狐表同一表中,采用姓名加身份证的办法合并在一列中,一列为正确的,一列为错误的,如果两列数据不等,就在第三列提示有错.
--  作者:leaflong
--  发布时间:2012/7/6 14:45:00
--  回复:(yangming)可以做到,只要有一组数据是正确的,...
能不能把具体的操作步骤写一下,太笼统了,
--  作者:yangming
--  发布时间:2012/7/6 14:56:00
--  
我回家后找一下当时做的示例吧
--  作者:狐狸爸爸
--  发布时间:2012/7/6 14:56:00
--  

直接比较Excel表也是可以的,将两个表,第一个表和第二个表,身份证号码都在第一列,第一个表正确:
 
Dim Book As New XLS.Book()
Dim Sheet1 As XLS.Sheet = Book.Sheets(0)
Book.Sheets.Add() \'增加一个工作表
Dim Sheet2 As XLS.Sheet = Book.Sheets(1) \'引用新增加的工作表
For i as integer = 0 To Sheet1.Rows.Count -1
   if Sheet1(i, 0).Text <> Sheet2(i, 0).Text  Then

           Sheet2(i, 1).Value  = "这个错了"
   End if
Next


 

相关知识点:

http://www.foxtable.com/help/topics/1144.htm

http://www.foxtable.com/help/topics/1160.htm

 

 

[此贴子已经被作者于2012-7-6 14:58:59编辑过]

--  作者:yangming
--  发布时间:2012/7/7 10:08:00
--  
我看了一下,改了一下贺老师的代码,条件是,两个表的第一列都是姓名列,第二列都是身份证号,并且两张表的顺序都是一样的,使用这段代码,就可以直接在EXCEL表中比对了
Dim Book As New XLS.Book("D:\\我的狐表文件\\狐表实用编程百例\\身份证对比.xls")
Dim fl As String ="D:\\我的狐表文件\\狐表实用编程百例\\身份证对比2.xls"
Dim Sheet1 As XLS.Sheet = Book.Sheets(0)
Dim Sheet2 As XLS.Sheet = Book.Sheets(1) \'引用新增加的工作表 
For i As Integer = 0 To Sheet1.Rows.Count -1
   If Sheet1(i, 0).Text & Sheet1(i, 1).Text <> Sheet2(i, 0).Text & Sheet2(i, 1).Text  Then
           Sheet2(i, 2).Value  = "这个错"
   End If
Next

Book.Save(fl) \'保存工作簿
Dim Proc As New Process \'打开工作簿
Proc.File = fl
Proc.Start()