急!高分!怎样用vb把excel表中的数据导入数据库中。 我想把excel表中的数据导入到sql server 数据库中(用vb实现)。不知道可不可以实现!请高手赐教!谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 试试用两个连接对象,一个连接EXCEL,一个连接SQL,最简单的方法是建两个记录集,一个是EXCEL的,读入,一个是SQL的,用Set SQL_RS = EXCEL_RS转移记录集,然后执行 sql_rs.update.没试过,仅提个建议而已。一般都是直接在SQL上导入,考虑你可能是用VB做客户端,不能直接由SQL访问你的硬盘。 楼上的不失为一种好方法此外还有一种方法,那就是用Excel对象读取Excel的内容,然后在将其插入目标数据库中。 楼主的这个问题说的太泛泛了。在我看来,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 = NothingEnd 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 = NothingEnd 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 最好有详细代码,网上也搜了一大把,但是好像都不能用。是用vb把excel表的数据导入至sql server数据库的某个表中。 vb字符串连接 VB_代码查错 查询的问题! 如何判断操作系统的版本?具体怎样操作 如何使用Winsock控件发送一个文件 这段代码有点问题,大家来看看 关于存储过程的优势! 流水号问题 请问:用PUT命令向二进制文件写入数据时用什么命令可以实现换行,即在下一行行首继续写入数据谢谢!!! 我的程序缩成标题框了,只能关闭和移动,怎么办? 紧急求救,VB调用OCX控件报错438!!! VB MSFlexGrid 单元格合并问题,求解!!!!!
Set SQL_RS = EXCEL_RS
转移记录集,然后执行 sql_rs.update.
没试过,仅提个建议而已。
一般都是直接在SQL上导入,考虑你可能是用VB做客户端,不能直接由SQL访问你的硬盘。
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
Beep
MsgBox "Successfully Output To The file", vbInformation, "Notice"我一段代码现在正在用,从表导入到EXCEL中的;
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