如何将EXCEL格的指定格的数据导入SQL 2000中?(需原代码)

解决方案 »

  1.   

    EXCEL文件要设置固定格式,还要设置命名范围,然后才可以导入 
    大致思路如下: 
    '// 设置打开 EXCEL 文件的连接字符串 
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
    "Data Source=excel文件名;Extended Properties=Excel 8.0" '// 以记录集的形式打开 Excel 文件,adoConn 为 ADODB.Connection 对象 
    adoConn.Open strConn 
    '// 将数据插入到指定的表中(以ODBC的方式打开SQL数据库) 
    strSQL = "INSERT INTO [odbc;Driver={SQL Server};Server=服务器IP;Database=数据库;UID=用户名;PWD=密码].SQL中的表名 SELECT EXCEL中的字段 FROM EXCEL工作表名" 
    '// 执行导入语句 
    adoConn.Execute strSQL, , adExecuteNoRecords
      

  2.   

    Function exportExcelToAccess(ByVal sSheetName As String, _
    ByVal sExcelPath As String, ByVal sAccessTable As String, ByVal sAccessDBPath As String)'''''''''''''''' DAO 方式
    'Dim db As Database
    'Dim rs As Recordset
    'Set db = OpenDatabase(sExcelPath, True, False, "Excel 5.0")
    'Call db.Execute("Select * into [;database=" & sAccessDBPath & "]." & _
    'sAccessTable & " FROM [" & sSheetName & "$]")
    '
    'MsgBox "Table exported successfully!", vbInformation
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ''''''''''' ADO 方式
    Dim Cn As ADODB.Connection
    Set Cn = New ADODB.Connection
    Cn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & sExcelPath & ";Extended Properties = Excel 8.0;"
    Cn.OpenCall Cn.Execute("Select * into [;database=" & sAccessDBPath & "]." & _
            sAccessTable & " FROM [" & sSheetName & "$]")
    'Set Cn = Nothing'MsgBox "Table exported successfully!", vbInformationEnd Function'调用
    exportExcelToAccess "Sheet1", App.Path & "\middle\info.xls", "info", App.Path & "\db\db1.mdb"