【发布时间】:2014-03-29 09:48:15
【问题描述】:
我需要从我的 excel 中读取行并将其插入 SQl 服务器。插入时我会检查那些行是否存在,根据那个标志 ll b 返回到前端。
到目前为止,我已经进行了逐列阅读。请任何人帮助我从 excel 中读取数据行,并在 VB.Net 中插入 SQL 服务器
需要使用数据表和数据集。 在 VB.NET 中
公开课表1
'#Region "Decleration"
'Dim exApp As Microsoft.Office.Interop.Excel.Application
'Dim exSheet As Microsoft.Office.Interop.Excel.Worksheet
'Dim exCell As Microsoft.Office.Interop.Excel.Range
'Dim dataset1 As New DataSet
'Dim rCount As Integer = 0
'Dim cCount As Integer = 0
'Dim objValues As Object
'Dim totalRecords As Integer = 0
'#End Region
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim objExcel As Excel.Application
Dim objWorkBook As Excel.Workbook
Dim objWorkSheets As Excel.Worksheet
Dim ExcelSheetName As String = ""
' objExcel = CreateObject("Excel.Application")
' objWorkBook = objExcel.Workbooks.Open("C:\Users\Jidh\Desktop\tttttttttttttttttt.xlsx")
End Sub
Private Sub OpenFileDialog_FileOk(sender As System.Object, e As System.ComponentModel.CancelEventArgs) Handles FileUpload1.FileOk
End Sub
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs)
End Sub
Private Sub btnChoseDoc_Click(sender As System.Object, e As System.EventArgs) Handles btnChoseDoc.Click
If FileUpload1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
Try
Dim DS As DataSet
Dim MyCommand As OleDb.OleDbDataAdapter
Dim MyConnection As OleDb.OleDbConnection
Dim dtExcelSchema As DataTable
MyConnection = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Jidh\Desktop\tttttttttttttttttt.xlsx;Extended Properties=""Excel 12.0 Xml;HDR=YES"";")
MyConnection.Open()
dtExcelSchema = MyConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
Dim SheetName As String = dtExcelSchema.Rows(0)("TABLE_NAME").ToString()
MyConnection.Close()
MyConnection.Open()
' Select the data from Sheet1 of the workbook.
MyCommand = New OleDb.OleDbDataAdapter("Select * from [" & SheetName & "]", MyConnection)
DS = New System.Data.DataSet()
MyCommand.Fill(DS)
grvRecords.DataSource = DS.Tables(0).DefaultView
MyConnection.Close()
Catch ex As Exception
MsgBox(ex.ToString)
Finally
End Try
End If
End Sub
'Private Sub ReleaseComObject(ByVal obj As Object)
' Try
' System.Runtime.InteropServices.Marshal.ReleaseComObject(objValues)
' obj = Nothing
' Catch ex As Exception
' obj = Nothing
' Finally
' GC.Collect()
' End Try
'End Sub
结束类
【问题讨论】:
-
你现在有什么代码?提出问题并希望有人为您工作是没有意义的 - 表明您至少尝试过。
-
我试过了,你看看
-
这就是我的意思,显示您的代码,以便我们帮助您完成它。将快速浏览并通知您。
-
好的,我已经编译了你的代码,它似乎运行良好。它添加了 Sheet1 的每一列和每一行。我没有对您的代码进行任何更改。你能具体说明你遇到了什么错误吗?