當前位置:首頁 » 編程語言 » vb導入excel數據到SQL
擴展閱讀
賬號密碼不知道如何輸入 2022-08-20 03:41:35

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文件里了吧、其實連格式都是可以程序控制的好好學下吧.

可以參考一下這篇文章