VB.NET将EXCEL中的数据导入到SQL SERVER

Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/book1.xls; Extended Properties=Excel 8.0;"

Try

Dim oleDbConnection As OleDbConnection = New OleDbConnection(sConnectionString)

oleDbConnection.open()

'获取excel

Dim dataTable As DataTable = oleDbConnection.GetoleDbSchemaTable(OleDbSchemaGuid.Tables,nothing)

'获取sheet名,其中(0)(1)...(N): 名称排列的表单元素

Dim tableName As String = dataTable.Rows(0)(2).ToString().Trim()

tableName = "[" & tableName.Replace(" ' "," ") & "]"

'利用sql语句从Excel文件获取数据

Dim query As String = "SELECT c1,c2,c3 FROM " & tableName

Dim dataset As DataSet = New DataSet()

Dim oleAdapter As OleDbDataAdapter = New OleDbDataAdapter(query,sConnectionString)

oleAdapter.Fill(dataset,"Rwb")

'可读取EXCEL中的记录数

MessageBox.Show(dataset.Tables(0).Rows.Count)

'sql数据库连接

Dim sqlcon As sqlClient.sqlConnection = New sqlClient.sqlConnection("Data Source=./sqlexpress;Initial Catalog=test;User ID=sa;Password=123")

sqlcon.open()

'excel文件获得数据后,插入记录到sql Server的数据表

Dim dataTable1 As DataTable = New DataTable()

Dim sqlDA1 As sqlClient.sqlDataAdapter = New sqlClient.sqlDataAdapter("SELECT c1,c3 from BOOK1 ",sqlcon)

Dim sqlCB1 As sqlClient.sqlCommandBuilder = New sqlClient.sqlCommandBuilder(sqlDA1)

sqlDA1.Fill(dataTable1)

Dim daTarow11 As DaTarow

For Each daTarow11 In dataset.Tables("Rwb").Rows

'sql里数据daTarow1

Dim daTarow1 As DaTarow = dataTable1.NewRow()

daTarow1("C1") = daTarow11("C1")

daTarow1("C2") = daTarow11("C2")

daTarow1("C3") = daTarow11("C3")

dataTable1.Rows.Add(daTarow1)

Next

MessageBox.Show("新插入 " & dataTable1.Rows.Count.ToString() & " 条记录 ")

sqlDA1.Update(dataTable1)

oleDbConnection.Close()

Catch ex As Exception

Console.WriteLine(ex.ToString())

End Try

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...