VB.NET通过代码将Excel文档加载到SQL Server数据库表中
问题描述:
我想将一个Excel文档加载到我的VB.NET项目中,然后将所有数据从Excel文档加载到我的SQL Server数据库中。VB.NET通过代码将Excel文档加载到SQL Server数据库表中
在SQL Server TCustomers
表名和它有以下栏目:
CustomerID, FirstName, LastName, OrderID
这是我的数据看起来如何在DataGridView:
CustomerID FirstName LastName OrderID
01 Jack Collin 100
我的Excel表格中已列明的数据以同样的方式。
Cell: A1 ---- B1 ---- C1 ---- D1
CustomerID----FirstName-LastName-OrderID
-02 ---- Mike ---- Angel ---- 200
我曾尝试使用下面的代码来完成这个任务尝试,但它不会做任何事情:
Dim ExcelConnection As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Spreadsheet.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=Yes""")
ExcelConnection.Open()
Dim expr As String = "SELECT * FROM [Sheet1$]"
Dim objCmdSelect As OleDbCommand = New OleDbCommand(expr, ExcelConnection)
Dim objDataR As OleDbDataReader
Dim SQLconne As New SqlConnection()
Dim ConnString As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\MyDatabase.mdf;Integrated Security=True"
SQLconne.ConnectionString = ConnString
SQLconne.Open()
Using bulkCopy As SqlBulkCopy = New SqlBulkCopy(SQLconne)
bulkCopy.DestinationTableName = "TCustomers"
Try
objDataR = objCmdSelect.ExecuteReader
bulkCopy.WriteToServer(objDataR)
objDataR.Close()
SQLconne.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Using
任何帮助表示赞赏。
答
我以前使用过SqlBulkCopy对象,并遇到同样的问题。
尝试明确设置您的列映射。当我做到了时,它就起作用了。
谢谢,我会考虑它。 – user2901055