Foros del Web » Programación para mayores de 30 ;) » .NET »

Imposible leer todos los campos de un Excel con ADO.NET

Estas en el tema de Imposible leer todos los campos de un Excel con ADO.NET en el foro de .NET en Foros del Web. Hola, mi problema es el siguiente: tengo un excel del cual quiero extraer los datos a un datatable de mi aplicación. Este Excel solo tiene ...
  #1 (permalink)  
Antiguo 06/08/2009, 02:18
 
Fecha de Ingreso: agosto-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Imposible leer todos los campos de un Excel con ADO.NET

Hola,

mi problema es el siguiente: tengo un excel del cual quiero extraer los datos a un datatable de mi aplicación. Este Excel solo tiene una columna donde se alojaran unos marcadores que pueden ser tanto númericos como string.

El caso es que me accede a los datos y me los recoge en el DT, aunque solo los que son en formato String, los demas no me los recoge.

La columna del excel no tiene formato, pero he probado a darle formato string y ni aún así me los recoge.

Este es el código que he utilizado.

Dim strconn As String
Dim lDt As New DataTable
Dim lRuta As String = Me.txtDocPro.Text

strconn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & lRuta & ";Extended Properties=Excel 8.0"

Dim mconn As New OleDb.OleDbConnection(strconn)
Dim ad As New OleDb.OleDbDataAdapter
("Select * from [Hoja1$]", mconn)
mconn.Open()
ad.Fill(lDt)
mconn.Close()


Un saludo y gracias.
  #2 (permalink)  
Antiguo 06/08/2009, 15:47
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años
Puntos: 30
Respuesta: Imposible leer todos los campos de un Excel con ADO.NET

Lamentablemente y hasta donde conozco este problema es comun, unicamente te subira a la aplicacion los datos que tienen el mismo formato que el primer campo de la columna. Es decir si tu primer campo es string unicamente te subira los string y asi con todos.

Lo que podrias hacer es a los campos numericos agregarles un caracter string antes del numero con esto ya te los deberia leer, claro te quedaria luego el problema de tener que quitar ese caracter a nivel de programacion.

Saludos,
  #3 (permalink)  
Antiguo 06/08/2009, 16:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Imposible leer todos los campos de un Excel con ADO.NET

Una opcion que tienes es abrir el excel con un objeto Excel.Application y luego leer la tabla directamente en él. Igual que crear, pero a la inversa.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 07/08/2009, 05:30
 
Fecha de Ingreso: agosto-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Imposible leer todos los campos de un Excel con ADO.NET

Gracias, lo intentare leyendo linea a linea.

Un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:40.