logo资料库

vb.net将excel中的数据导入到数据库.doc

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
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,c2,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
分享到:
收藏