Problemas para conectarme a excel

Hola disculpa tengo un problema para conectarme con excel estoy utilizando visual basic 2008 express edition.
Lo que pasa es que estoy haciendo una aplicación que me importe datos sacados de un archivo de excel a una base de datos de mysql.
Por el momento extoy experimentando en mostrar primero mis datos en un datagrid por lo que tengo este código
Sub Cargar(ByVal Libro As String, ByVal hoja As String, Optional ByVal rango As String = "") 
Dim conexion As ADODB.Connection, rs As ADODB.Recordset
conexion = New ADODB.Connection
****en esta linea me marca error por lo que no hace la conexion*******************
conexion.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Libro & "; Extended Properties=Excel 12.0"";HDR=Yes;") **********************************************************************
If rango <> ":" Then
hoja = hoja & "$" & rango
End If
rs = New ADODB.Recordset
rs.Open("SELECT * FROM [" & hoja & "]", conexion)
DataGrid1.DataSource = rs
End Sub
Por favor si puedes ayudarme te lo agradecería o si tienes alguna otra solución para hacer mi aplicación también t lo agradecería

1 Respuesta

Respuesta
1
Yo te recomendaría que utilices la herramienta que trae vb para
conectarse automáticamente a Excel, te va a crear el código
con la correspondiente conexión y ahí te va a ser más fácil
hacer lo que tienes en mente...
Hola gracias por contestar y disculpa lo que t voy a preguntar lo que pasa es que soy nueva en esto de usar vb me podrías decir cual es la herramienta que dices lo que pasa es que no la he visto no se si es por que estoy utilizando visual basic 2008 express edition.
Bueno si puedes responder te lo agradecería
Hace mucho que no uso vb 2008, pero si no me equivoco,
al lado derecho de la pantalla, donde tienes el explorador de proyectos,
tienes otra solapa que dice conexión a datos o algo así,
fíjate si te sirve...
Gracias por el interés de ayudarme ya estuve checando y aun no lo logre como dices lo que he logrado hacer es esto:
Dim conexion As ADODB.Connection, rs As ADODB.Recordset ' variables para la conexion a excel, rs es para el recorrido
conexion = New ADODB.Connection
conexion.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Libro & ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'") ' se realiza la conexion especificando la ruta (Libro)del archivo
 If Not System.IO.File.Exists(ruta.Text) Then ' compprueba de q exista el archivo
MsgBox("No se encontr el Libro", MsgBoxStyle.Critical, "Ruta invlida")
Exit Sub
End If
If rango <> ":" Then 'rango es A1:L1 y hoja es Hoja1
hoja = hoja & "$" & rango
End If
rs = New ADODB.Recordset
rs.Open("SELECT * FROM [" & hoja & "]", conexion, , , )
' Mostramos los datos en el datagrid
DataGrid1.DataSource = rs
por lo que he investigado se supone que asi debe funcionar pero aunque no me marca error no me muestra nada en el datagrid y no se por q?
porfa si a ti se te ocurre algo dimelo
¿Por qué no pruebas haciendo un paso a paso para ver a donde se produce el error?
Dejame lo intento aunque nunca he hecho eso dejame ver como se hace. Pero ya logre mostrar mis datos en un datagrid con el siguiente código:
Dim conAuthors As New OleDbConnection ' variable de conexion
Dim cmdSelectAuthors As OleDbCommand ' variable para devolver los datos de la hoja de calculo
 Dim dtrAdapter As New OleDbDataAdapter 'variable para crear un nuevo dataset
 Dim obData As New DataSet() ' variable de dataset para contener la informacion de la hoja de calculo
 conAuthors = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Libro & ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'") ' se realiza la conexion especificando la ruta (Libro)del archivo
 conAuthors.Open() ' abrir la conexion
 cmdSelectAuthors = New OleDbCommand("Select * From [" & hoja & "$]", conAuthors) ' comando SELECT para obtener los datos de la hoja
 dtrAdapter.SelectCommand = cmdSelectAuthors ' pasar el comando select al adaptador
 dtrAdapter.Fill(obData, "Prueba") ' rellenar el dataset con la informacion de la hoja de calculo
DataGrid1. DataSource = obData. Tables(0). ¿DefaultView ' crear una tabla a partir de los datos originales
ahora de casualidad tu sabes como importar mis datos a mi base en mysql?
Muchas gracias por tu ayuda
¿Sabes conectar a mysql o no?
Si tengo este código
Dim bConexionExitosa As Boolean = True 'nos permite finalizar el programa si la conexion falla
conexion = New MySQLConnection(New MySQLConnectionString("localhost", "name", "root", "pasword", 3306).AsString) 'se configuran los parametros de la conexion
Try
'Abrimos la conexin y comprobamos que no hay error
conexion.Open()
Catch ex As MySQLException
'Si hubiese error en la conexin mostramos el texto de la descripcin
MessageBox.Show(ex.Message, "Error de conexin principal", MessageBoxButtons.OK, MessageBoxIcon.Error)
bConexionExitosa = False
End Try
'Si no hay ningn problema continuamos
If bConexionExitosa Then
aunq para esto tuve que importar MySQLDriverCS
pero ahora no se como es el comando para ir llenando cada mi tabla con los valores que mostre en el datagrid
Ahora proba con ir recorriendo
El datagrid e ir poniendo cada dato en la
tabla correspondiente ;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas