我想把excel表中的数据导入到sql server 数据库中(用vb实现)。不知道可不可以实现!请高手赐教!谢谢!

解决方案 »

  1.   

    试试用两个连接对象,一个连接EXCEL,一个连接SQL,最简单的方法是建两个记录集,一个是EXCEL的,读入,一个是SQL的,用
    Set SQL_RS = EXCEL_RS
    转移记录集,然后执行 sql_rs.update.
    没试过,仅提个建议而已。
    一般都是直接在SQL上导入,考虑你可能是用VB做客户端,不能直接由SQL访问你的硬盘。
      

  2.   

    楼上的不失为一种好方法此外还有一种方法,那就是用Excel对象读取Excel的内容,然后在将其插入目标数据库中。
      

  3.   

    楼主的这个问题说的太泛泛了。在我看来,VB 无所不能,因为有很多很多的 COM 为它服务。它可以访问 Exchange Server,因为有 CDO;它可以访问 SQL Server/Oracle/DB2...,因为有 ADO;当然它也可以访问 Excel/Word,因为有 Excel Object Library(EXCEL.EXE)/Microsoft Word Object Library(MSWORD.OLB) 等等。这里所说的访问一般就是指的操作其对象数据,能够达到大部分你手工能做到的事情。比如,它能功过 ADO 访问 SQL Server,就意味着从通常的连接数据库、执行查询、删除数据、调用存储过程,到复杂的创建数据库、创建表等等操作都能做到。对于 Excel 来说,它能打开指定的 Excel 文件、读取工作表的数据、创建新的工作表、向指定的单元格中写入想要的数据等等
      

  4.   

    把excel表当做外部数据库用sql语句导入就行了,网上一搜一片。
      

  5.   

    ’经实际测试,以下代码数据库和Excel之间互相导入导出,完全成功!
    Private Sub Command1_Click()
        'access导出到excel
        Dim db As New ADODB.Connection
        Dim sPath As String
        
        db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Temp\Test\db1.mdb Persist Security Info=False"
        
        sPath = App.Path + "\backup.xls"
        If Dir(sPath) <> "" Then
            Kill sPath
        Else
        
        Call db.Execute("select * into [Sheet1$]  In '" & sPath & "' 'excel 8.0;' from 表1")
            MsgBox "导出成功", vbOKOnly, "提示"
        End If
        
        db.Close
        Set db = Nothing
    End SubPrivate Sub Command2_Click()
        '从excel导出到 access
       Dim db As New ADODB.Connection
        Dim sPath As String
        
        db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Temp\Test\db1.mdb;Persist Security Info=False"
        
        sPath = App.Path + "\backup.xls"
        Call db.Execute("select * into Table4 From [Sheet1$]  In '" & sPath & "' 'excel 8.0;'")
            
        db.Close
        Set db = Nothing
    End Sub
      

  6.   

    DoCmd.TransferSpreadsheet acExport, 8, "tmp_fabric", excel_path & "\XLS\output to Excel\fabric_details", True, ""     *****tmp_fabric为表名,后边跟着的是相对路径;
        Beep
        MsgBox "Successfully Output To The file", vbInformation, "Notice"我一段代码现在正在用,从表导入到EXCEL中的;
      

  7.   

    Private Sub Cmd_FromPackingList_Click()  '从EXCEL中导入表Packing List
        excel_path = CurrentProject.Path
        
        DoCmd.RunSQL "delete * from [Packing List]", -1
        DoCmd.TransferSpreadsheet acImport, 8, "Packing list", excel_path & "\XLS\input to DB\Input To trims", True, ""
        Beep
        MsgBox "Successfully Input From Excel File", vbOKOnly, "Notice"
    End Sub这一段是从EXCEL导入到数据库表中的,
      

  8.   


        Adodc.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='文件路径';Persist Security Info=False;Extended Properties='Excel 8.0;HDR=Yes'"
        Adodc.RecordSource = "select * from [sheet1$]"
        Adodc.Refresh
      

  9.   

    最好有详细代码,网上也搜了一大把,但是好像都不能用。是用vb把excel表的数据导入至sql server数据库的某个表中。