当前位置:首页 » 编程语言 » vb导入excel数据到SQL
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

vb导入excel数据到SQL

发布时间: 2022-07-07 18:29:14

A. VB6.0如何实现将excel数据导入mssql数据库

这里是我用的代码,估计对你有用:

'On Error Resume Next
Dim fileadd As String
CommonDialog1.ShowOpen
CommonDialog1.Filter = "xls文件(*.xls)|*.xls" '选择你要的文件
fileadd = CommonDialog1.FileName
If fileadd = "" Then Exit Sub
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open(fileadd) '打开已经存在的EXCEL工件簿文件
xlApp.Visible = False ' = True '设置EXCEL对象可见(或不可见)
Set xlSheet = xlBook.Worksheets(1) '设置活动工作表
For R = 1 To 99999 '行循环
If LTrim(RTrim(xlBook.Worksheets(1).Cells(R, 1))) <> "" Then
sybw.Adodc3.Refresh
sybw.Adodc3.Recordset.Find "ShiGongBuWei_Name='" & LTrim(RTrim(xlBook.Worksheets(1).Cells(R, 1))) & "'"
If sybw.Adodc3.Recordset.EOF Then
sybw.Adodc3.Recordset.AddNew
sybw.Adodc3.Recordset!ShiGongBuWei_Name = LTrim(RTrim(xlBook.Worksheets(1).Cells(R, 1)))
sybw.Adodc3.Recordset!FenXiangGongCheng_ID = bb
sybw.Adodc3.Recordset.Update
sybw.Adodc3.Refresh
' Call log(MM_Users_NameTrue, "增加了施工部位", MM_Companys_ID)
Else
' MsgBox " 施工部位重复! ", vbOKOnly, "用户信息"
End If
Else
R = 99999 + 1
End If
Next R

xlApp.DisplayAlerts = False '不进行安全提示 '
Set xlSheet = Nothing '
Set xlBook = Nothing '
xlApp.Quit '
Set xlApp = Nothing

B. vb实现excel数据导入到sql数据库报错

Access 使用 ISAM 驱动程序(而非它自己的驱动程序)更新文件格式。如果 Windows 注册表中 ISAM 驱动程序的路径无效,或者 ISAM 驱动程序不存在,可能会发生此问题。
回到顶端

解决方案
警告:注册表编辑器使用不当可能导致严重问题,可能需要重新安装操作系统。Microsoft 不能保证您可以解决因注册表编辑器使用不当而导致的问题。使用注册表编辑器需要您自担风险。

要解决此问题,您可以尝试手动注册此文件,或者必须更正 Windows 注册表中的路径名称错误,然后安装或替换问题文件。为此,请按照下列步骤操作。

注意:在“症状”一节中提到的错误信息 1 中,此文件名直接与尝试的操作相关联。在“症状”一节中提到的错误信息 2 中,此文件名在该信息的文本中提到。 1. 在下表中找到相关的文件: 文件名 导入/导出 ISAM: Windows 注册表
Msexcl40.dll Microsoft Excel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
Msexch40.dll Microsoft Exchange HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Exchange
Msrd2x40.dll Microsoft Jet 2.x HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 2.x
Msrd3x40.dll Microsoft Jet 3.x HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 3.x
Msltus40.dll Lotus 1-2-3 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Lotus
Mspbde40.dll Imprise Paradox HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Paradox
Mstext40.dll Text HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text
Msxbde40.dll dBase HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase

2. 使用 Microsoft Windows 资源管理器搜索文件。
3. 如果找到此文件,请记下此文件的路径名称。如果找不到此文件,请转至步骤 13。
4. 打开 Windows 注册表编辑器。
5. 找到此表中描述的注册表子项,然后按照实际的路径名称检查此路径名称。如果此注册表项不存在,请转至步骤 8。
6. 如果路径错误,更正此路径。如果路径正确,继续执行这些步骤。
7. 关闭注册表编辑器。

如果更改了此路径,请重复产生最初错误的过程。
8. 如果错误仍然存在,请使用 Regsvr32.exe 实用工具手动注册此文件。

Regsvr32.exe 实用工具是用于在 Windows 注册表中注册 DLL 和 ActiveX 控件的应用程序。您可以使用此文件解决错误匹配的 .dll 文件的问题。要使用 Regsvr32.exe 实用工具重新注册 .dll 文件,请转至下一步。
9. 验证 Regsvr32.exe 文件是否位于装有 Windows 的系统文件夹中。

例如,Regsvr32.exe 文件通常位于 C:\Windows\System 或 C:\Winnt\System32 中。
10. 单击“开始”,然后单击“运行”。
11. 在“运行”对话框中,在“打开”框中键入以下命令。

注意:Regsvr32.exe 的路径和 DLL 的名称和路径在计算机中可能有些不同。以下命令可注册 Excel ISAM:

Regsvr32 c:\winnt\system32\msexcl40.dll

注意:注册 DLL 的另一种方法是使用 Windows 资源管理器找到 DLL。

双击此 DLL。在“打开方式”对话框中,单击“Regsvr32.exe”,然后单击“确定”。

这会创建所有 DLL 与 Regsvr32.exe 的永久关联。您可以双击其他未注册的 DLL,来注册这些 DLL。

有关如何获得此文件的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
267279 (http://support.microsoft.com/kb/267279/) Regsvr32.exe 可从下载中心下载
12. 如果错误仍然存在,或者已经在步骤 5 中更正了路径名称,请重命名此文件。
13. 启动“添加/删除程序”工具,启动 Office 2000 安装程序,然后单击“修复 Office”。

C. vb将excel导入数据库

没错,Access自带导入外部数据的功能,可以直接导入Excel,不过如果你实在想了解一下用VB怎么做的话,可以参考下面是我搞过的自用的读取Excel导入数据库的代码。必须建立了数据库,以及数据表和相应字段才行,要自动创建数据表我不会。总之,这下面是导入数据的过程,希望能对你有所帮助。

数据库DataBase.mdb ,表名data
Excel文件名test.xls ,目标工作表sheet1

Private Sub Command1_Click()
'工程->引用->Microsoft ActiveX Data Objects 2.X Library
On Error Resume Next
Dim i%, n%, l%
Dim Conn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim Cnt As Integer
Dim xConn As New ADODB.Connection
Dim xRs As New ADODB.Recordset
Dim xCnt As Integer

Conn.CursorLocation = adUseClient
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & App.Path & "\DataBase.mdb"
If Rs.State <> adStateClosed Then Rs.Close
Rs.Open "select * from data", Conn, adOpenKeyset, adLockOptimistic

xConn.CursorLocation = adUseClient
'连接Excel的字符串,后面的“HDR=yes”需要注意,它的意思是把Excel表第一行作为字段名,第二行开始方是有效数据。HDR=no则反之,从第一行开始就看做有效数据。
xConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.xls;Extended Properties='Excel 8.0;HDR=yes;IMEX=1'"
If xRs.State <> adStateClosed Then xRs.Close
'像打开数据库一样,使用SQL语言,打开名称为“sheet1”的工作表
xRs.Open "select * from [sheet1$]", xConn, adOpenStatic, adLockReadOnly
xCnt = xRs.RecordCount

If xCnt = 1 Then '因为HDR=yes,必有1行表头数据
MsgBox "请确认“test.xls”的“sheet1”工作簿内容不为空!否则无法导入任何数据!"
Exit Sub
End If
ProgressBar1.Max = xCnt
ProgressBar1.Min = 0
ProgressBar1.Value = 0
Label1.Caption = "0 / " & xCnt

For i = 0 To xCnt - 1
DoEvents
'下面的SQL插入语句自行更改,注意数据格式,如果是xRs("字段名1")的值是文本,记得在两边加单引号。
Conn.Execute "insert into data values(" & xRs("列名1") & "," & xRs("列名2") & "," & xRs("列名3") & ...... & ")"
xRs.MoveNext
Label1.Caption = i + 1 & " / " & xCnt
ProgressBar1.Value = i + 1
Next

Rs.Close : xRs.Close
Conn.Close : xConn.Close
Set Rs = Nothing : Set xRs = Nothing
Set Conn = Nothing : Set xConn = Nothing
End Sub

D. VB6.0如何实现excel导入到SQL server2008数据库中

用openrowset,具体用法查查资料看看。

E. vb.net中如何将Excel表数据导入到SQL数据库

存储过程里写bcp读入拉
把excel数据统一成csv格式读及可以了
最后在vb.net里用ExecNonQuery调用你的存储过程就行

F. vb excel导入SQL

直接into到sql

G. 用VB做怎么将Excel数据导入SQL数据库中

使用OleDB数据源驱动,可以像读数据库一样,用SQL语句读Excel,然后把读到的DataTable,逐行生成SQL语句,然后在数据库里执行事务。

H. vb实现excel数据导入到sql数据库报错

这个我是这么实现的.要用到

Excel.Application

Set xlapp = CreateObject("Excel.Application") '激活EXCEL
xlapp.Visible = True '让EXCEL可见
Set xlbook = xlapp.Workbooks.Open(App.Path + "个人简历.xlt")
'打开工作簿,strDestination为一个EXCEL报表文件
Set xlsheet = xlbook.Worksheets(1) '设定工作表

这个有点像是vb6的、vb.net也有相应的方法的.总之是
excel.application 用到这个就可以了.必要的话导入excel的dll文件.
这样你就发现、可以用vb.net来对excel来操作.你可以查下微软的msdn、有具体的属性方法.

如:
Dim ef As New Excel.Application
Dim es As New Excel.Worksheet
Dim er As Excel.Range
ef.Workbooks.Add()
es = ef.Worksheets("sheet1")
es.Activate()
er = es.Range("a1:C1")
er.Select()
er.Merge()
er.Value = "gordon1117" ef.Visible = True 目前应用了三个对象:application,worksheet和range,三者的关系应该清晰,做到这点就能从基本开始做了:)格式设置都在range对象,只不过在设置对齐属性上是verticalalignment和horizon

range 用来定位、
然后你可以循环把数据输出到指定了格式的excel文件里了吧、其实连格式都是可以程序控制的好好学下吧.

可以参考一下这篇文章