简体   繁体   English

如何比较2个Excel工作表列值

[英]How to compare 2 excel sheet column values

I have 2 Excel sheets (using Excel 2007) 我有2个Excel工作表(使用Excel 2007)

Excel sheet1 with column names 带有列名称的Excel sheet1

name  
kumar 
manu  
kiran  
anu   

Excel sheet2 with column names 带有列名称的Excel sheet2

name 
kumar   
anu 

I will upload the sheets and then I click on a button (here I will compare the names columns from each sheet) then I need to add the names missing from sheet 2 to another Excel sheet and save to D:\\names.xlsx 我将上传工作表,然后单击一个按钮(这里我将比较每个工作表的名称列),然后我需要将工作表2缺少的名称添加到另一个Excel工作表中并保存到D:\\ names.xlsx

So names.xlsx sheet should contain 所以names.xlsx工作表应包含

names
manu  
kiran

Hope my question is clear, any help would be great yaar 希望我的问题很清楚,任何帮助都会很大

You can use ADO. 您可以使用ADO。

Dim cn As Object
Dim rs As Object
Dim strFile As String
Dim strCon As String
Dim strSQL As String
Dim s As String
Dim i As Integer, j As Integer

''This is not the best way to refer to the workbook
''you want, but it is very convenient for notes
''It is probably best to use the name of the workbook.

strFile = ActiveWorkbook.FullName

''Note that if HDR=No, F1,F2 etc are used for column names,
''if HDR=Yes, the names in the first row of the range
''can be used. 
''This is the Jet 4 connection string, you can get more
''here : http://www.connectionstrings.com/excel

strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _
    & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"

''Late binding, so no reference is needed

Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")


cn.Open strCon

strSQL = "SELECT [Name] " _
       & "FROM [Sheet1$] a " _
       & "LEFT JOIN [Sheet2$] b " _
       & "ON a.[Name]=b.[Name] " _
       & "WHERE b.Name Is Null"

rs.Open strSQL, cn, 3, 3


''Pick a suitable empty worksheet for the results

Worksheets("Sheet3").Cells(2, 1).CopyFromRecordset rs

''Tidy up
rs.Close
Set rs=Nothing
cn.Close
Set cn=Nothing

The easiest way to do this would be to: 最简单的方法是:

  1. read the excel file into a datatable in C# 将Excel文件读取到C#中的数据表中
  2. use the Merge feature of datatables to merge the columns 使用数据表的合并功能合并列
  3. write the data back to the excel file. 将数据写回到excel文件。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM