将数据从Excel导入SQL Server 2008时如何删除重复行

时间:2015-10-06 04:40:39

标签: excel sql-server-2008

我想将Excel数据导入SQL Server表。我的Excel数据可能与SQL Server表中已有的数据重复。

我的桌子没有主键。将Excel数据导入SQL Server时,我想在插入Excel之前删除SQL Server表中的重复记录 数据。

我使用Database>> Tasks >> Import Data功能进行导入。此选项允许导入重复数据而不删除。将数据从Excel导入SQL Server时,如何删除重复的行?

1 个答案:

答案 0 :(得分:0)

使用Excel宏删除这些重复的行。

将下面的代码复制到excel宏模块中并运行它。

注意:更改所有" A1" to string指向键列的第一个单元格 所有数据行之间不应有空格或空行,因为如果找到空白单元格,代码将停止。

Sub deleteDuplicateRow()
Dim i As Long

i = 0
Do While Range("A1").Offset(i).Value <> ""
    If Range("A1").Offset(i).Value = Range("A1").Offset(i + 1).Value Then
        Range("A1").Offset(i + 1).EntireRow.Delete
    Else
        i = i + 1
    End If
Loop
End Sub