Importar datos de Excel a SQL atraves de .NET
Publicado por Armando de León (4 intervenciones) el 15/01/2008 18:07:27
Que tal, alguien puede ayudarme con código para importar datos de excel a una base de datos de SQL a través de Visual .NET?
Tengo el siguiente código pero no pasa los datos correctos, me pone en las variablesel valor de:
System.__ComObject
'trabajar con excel
Dim CategoryName As String
'' Creamos un objeto WorkBook
Dim objLibroExcel As Excel.Workbook
'' Creamos un objeto WorkSheet
Dim objHojaExcel As Excel.Worksheet
'' Iniciamos una instancia a Excel
m_excel = New Excel.Application
m_excel.Visible = False
'' Creamos una instancia del Workbooks de Excel
'' Creamos una instancia de la primera hoja de trabajo de Excel
objLibroExcel = m_excel.Workbooks.Open(txtruta.Text)
objHojaExcel = objLibroExcel.Worksheets(txthoja.Text)
objHojaExcel.Visible = Excel.XlSheetVisibility.xlSheetVisible
'' Hacemos esta hoja la visible en pantalla
'' (como seleccionamos la primera esto no es necesario
'' si seleccionamos una diferente a la primera si lo
'' necesitaríamos, esto lo hacemos como forma de mostrar como cambiar de entre hojas en un documento Excel).
objHojaExcel.Activate()
Dim i As Integer
i = txtinicio.Text
Do While i <= txtfin.Text
'Variables de excel
Dim paterno, materno, titular, domicilio, numero, cp, telefono, lada
paterno = objHojaExcel.Cells(i, "B")
materno = objHojaExcel.Cells(i, "C")
titular = objHojaExcel.Cells(i, "D")
domicilio = objHojaExcel.Cells(i, "E")
numero = objHojaExcel.Cells(i, "F")
cp = objHojaExcel.Cells(i, "G")
telefono = objHojaExcel.Cells(i, "H")
lada = objHojaExcel.Cells(i, "I")
Dim cnnguardar As OdbcConnection
Dim cmdguardar As New OdbcCommand
Try
cnnguardar = New OdbcConnection("DSN=prueba" & ";" & "UID=" & usu & "" & ","& "PWD=" & pas & "")
cmdguardar.CommandText = "insert into personas " & " values(" & "'" & noclave & "', " & "'" & paterno & "', " & "'" & materno & "', " & "'" & titular & "', " & "'" & domicilio & "', " & "'" & numero & "', " & "'" & cp & "', " & "'" & telefono & "', " & "'" & lada & "', " & "'" & "" & "', " & "'" & frm_menu.DefInstance.lblusuario.Text & "', " & "'" & fecha & "', " & "'" & TimeOfDay & "')"
cmdguardar.Connection = cnnguardar
cmdguardar.Connection.Open()
cmdguardar.ExecuteNonQuery()
cnnguardar.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
i = i + 1
Loop
Tengo el siguiente código pero no pasa los datos correctos, me pone en las variablesel valor de:
System.__ComObject
'trabajar con excel
Dim CategoryName As String
'' Creamos un objeto WorkBook
Dim objLibroExcel As Excel.Workbook
'' Creamos un objeto WorkSheet
Dim objHojaExcel As Excel.Worksheet
'' Iniciamos una instancia a Excel
m_excel = New Excel.Application
m_excel.Visible = False
'' Creamos una instancia del Workbooks de Excel
'' Creamos una instancia de la primera hoja de trabajo de Excel
objLibroExcel = m_excel.Workbooks.Open(txtruta.Text)
objHojaExcel = objLibroExcel.Worksheets(txthoja.Text)
objHojaExcel.Visible = Excel.XlSheetVisibility.xlSheetVisible
'' Hacemos esta hoja la visible en pantalla
'' (como seleccionamos la primera esto no es necesario
'' si seleccionamos una diferente a la primera si lo
'' necesitaríamos, esto lo hacemos como forma de mostrar como cambiar de entre hojas en un documento Excel).
objHojaExcel.Activate()
Dim i As Integer
i = txtinicio.Text
Do While i <= txtfin.Text
'Variables de excel
Dim paterno, materno, titular, domicilio, numero, cp, telefono, lada
paterno = objHojaExcel.Cells(i, "B")
materno = objHojaExcel.Cells(i, "C")
titular = objHojaExcel.Cells(i, "D")
domicilio = objHojaExcel.Cells(i, "E")
numero = objHojaExcel.Cells(i, "F")
cp = objHojaExcel.Cells(i, "G")
telefono = objHojaExcel.Cells(i, "H")
lada = objHojaExcel.Cells(i, "I")
Dim cnnguardar As OdbcConnection
Dim cmdguardar As New OdbcCommand
Try
cnnguardar = New OdbcConnection("DSN=prueba" & ";" & "UID=" & usu & "" & ","& "PWD=" & pas & "")
cmdguardar.CommandText = "insert into personas " & " values(" & "'" & noclave & "', " & "'" & paterno & "', " & "'" & materno & "', " & "'" & titular & "', " & "'" & domicilio & "', " & "'" & numero & "', " & "'" & cp & "', " & "'" & telefono & "', " & "'" & lada & "', " & "'" & "" & "', " & "'" & frm_menu.DefInstance.lblusuario.Text & "', " & "'" & fecha & "', " & "'" & TimeOfDay & "')"
cmdguardar.Connection = cnnguardar
cmdguardar.Connection.Open()
cmdguardar.ExecuteNonQuery()
cnnguardar.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
i = i + 1
Loop
Valora esta pregunta


0