注册 登录
编程论坛 VB.NET论坛

求助:关于vb.net导入excel到access的问题

huangyz_xy 发布于 2019-10-04 18:27, 3230 次点击
我是菜鸟,刚刚接触,请问如何把一个excel表里面指定sheet导入到access里面和sheet名相同table里面,如果里面存在同名table,询问是追加进去还是删除后重新建一个table。
程序代码:
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & App.Path & "\datas\Data_Source.mdb" & "';Persist Security Info=False"
    conn.Open
    If rst.State = adStateOpen Then rst.Close
    rst.Open "SELECT * FROM MsysObjects", conn, adOpenKeyset, adLockOptimistic
    For intloop = 0 To rst.RecordCount - 1
        If rst.Fields("name") = "NRCellDU" & "_" & ComDU_Type Then  
            kill = 1
        End If
        rst.MoveNext
    Next intloop
   
    If ComDU_Type = "" Then
        MsgBox "请选择NRCellDU类型都再确认导入!", vbInformation, "Yams"
        Exit Sub
    Else
        If kill = 1 Then
            If MsgBox("<NRCellDU_" & ComDU_Type & ">已经存在,是否删除后重新导入?", vbCritical + vbOKCancel, "删除警告") = vbOK Then
                conn.Execute "DROP TABLE NRCellDU_" & ComDU_Type
                SQL = "select *  into NRCellDU_" & ComDU_Type & " from  [Excel 12.0 Xml;database=" & txtNRCellDU & "].[NRCellDU$]"
                conn.Execute SQL
            Else
                Exit Sub
            End If
        Else
            SQL = "select *  into NRCellDU_" & ComDU_Type & " from  [Excel 12.0 Xml;database=" & txtNRCellDU & "].[NRCellDU$]"
            conn.Execute SQL
        End If
    End If

只有本站会员才能查看附件,请 登录

以上是vb6的部分代码,用如何实现呢?
3 回复
#2
厨师王德榜2019-10-22 13:52
也能用Ado访问,这段代码基本上不需要怎么改动,都可以直接用了吧?
#3
ipsc19782019-11-07 23:50
最后把EXCEL另存为文本文件 制表符分隔,这种方式导入导出不受OFFICE版本和组件的约束,兼容性好。要不在不同的机上不同的OFFICE版本会让你的程序在兼容性上非常头痛。
#4
gbhytg2020-06-02 18:33
insert INTO [atm_err] SELECT [字段列表] From [Sheet1$] IN '" & excel文件路径 & "' 'EXCEL 8.0;'执行这个SQL语句就可以,注意EXCEL 8.0,是和Excel版本相关,可以网上查查
1