首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

急高分!怎样用vb把excel表中的数据导入数据库中。该怎么处理

2013-01-07 
急!高分!怎样用vb把excel表中的数据导入数据库中。我想把excel表中的数据导入到sql server 数据库中(用vb实

急!高分!怎样用vb把excel表中的数据导入数据库中。
我想把excel表中的数据导入到sql server 数据库中(用vb实现)。不知道可不可以实现!请高手赐教!谢谢!
[解决办法]
试试用两个连接对象,一个连接EXCEL,一个连接SQL,最简单的方法是建两个记录集,一个是EXCEL的,读入,一个是SQL的,用
Set SQL_RS = EXCEL_RS
转移记录集,然后执行 sql_rs.update.
没试过,仅提个建议而已。
一般都是直接在SQL上导入,考虑你可能是用VB做客户端,不能直接由SQL访问你的硬盘。
[解决办法]
楼上的不失为一种好方法

此外还有一种方法,那就是用Excel对象读取Excel的内容,然后在将其插入目标数据库中。
[解决办法]

引用:
楼上的不失为一种好方法

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


VBA
[解决办法]
楼主的这个问题说的太泛泛了。

在我看来,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 文件、读取工作表的数据、创建新的工作表、向指定的单元格中写入想要的数据等等。。。。。。


[解决办法]
把excel表当做外部数据库用sql语句导入就行了,网上一搜一片。
[解决办法]
’经实际测试,以下代码数据库和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 Sub

Private 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

[解决办法]
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中的;
[解决办法]
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导入到数据库表中的,
[解决办法]

    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

热点排行