Dim strPath As String = File1.PostedFile.FileName
If strPath = "" Then
Response.Write(" <script> alert( '請先選擇文件 ') </script> ")
Response.End()
End If
'定義連接字符串
Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & "; 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 部門,全年任務,本年累計完成,上年同期完成,[完成全年任務的%],[可比增長%] FROM " & tableName
Dim dataset As DataSet = New DataSet()
Dim oleAdapter As OleDbDataAdapter = New OleDbDataAdapter(query, sConnectionString)
oleAdapter.Fill(dataset, "Rwb")
'SQL數據庫連接
Dim sqlcon As SqlClient.SqlConnection = New SqlClient.SqlConnection("server=(local);database=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 部門,全年任務, 本年累計完成,上年同期完成,[完成全年任務的%],[可比增長%] FROM Rwb ", sqlcon)
Dim sqlCB1 As SqlClient.SqlCommandBuilder = New SqlClient.SqlCommandBuilder(sqlDA1)
sqlDA1.Fill(dataTable1)
Dim dataRow11 As DataRow
For Each dataRow11 In dataset.Tables("qssrzb").Rows
'sql裏數據dataRow1
Dim dataRow1 As DataRow = dataTable1.NewRow()
dataRow1("部門") = dataRow11("部門")
dataRow1("全年任務") = dataRow11("全年任務")
dataRow1("本年累計完成") = dataRow11("本年累計完成")
dataRow1("上年同期完成") = dataRow11("上年同期完成")
dataRow1("完成全年任務的%") = dataRow11("完成全年任務的%")
dataRow1("可比增長%") = dataRow11("可比增長%")
dataTable1.Rows.Add(dataRow1)
Next
Console.WriteLine("新插入 " & dataTable1.Rows.Count.ToString() & " 條記錄 ")
sqlDA1.Update(dataTable1)
oleDbConnection.Close()
Catch ex As Exception
Console.WriteLine(ex.ToString())
End Try
VB.NET實現Excel導入SQL數據庫
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.