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

Llenar DataGridView Con Archivo Excel

Estas en el tema de Llenar DataGridView Con Archivo Excel en el foro de .NET en Foros del Web. Compañeros buenas tardes, tengo el siguiente inconveniente estoy intentando cargar un Datagrid con el contenido de un archivo de excel si hago el procedimiento con ...
  #1 (permalink)  
Antiguo 05/08/2010, 13:55
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Llenar DataGridView Con Archivo Excel

Compañeros buenas tardes, tengo el siguiente inconveniente estoy intentando cargar un Datagrid con el contenido de un archivo de excel si hago el procedimiento con un archivo excel 2003 no hay inconveniente pero si lo intento hacer con un archivo excel 2007 hay parece un mensaje de error "La tabla externa no tiene el formato esperado." el código que utilizo para dicho procedimiento es el siguiente:

Código vb:
Ver original
  1. Dim Ruta As String
  2.         buscador.ShowDialog()
  3.         Ruta = buscador.FileName
  4.         If Path.GetExtension(Ruta) = ".xls" Or Path.GetExtension(Ruta) = ".xlsx" Then
  5.             Try
  6.                 Dim Conexion As New OleDb.OleDbConnection
  7.                 Dim Adaptador As New OleDbDataAdapter
  8.                 Dim CadenaConexion = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  9.                         "Data Source=" + Ruta + ";" + "Extended Properties=Excel 8.0;"
  10.                 Conexion = New OleDb.OleDbConnection(CadenaConexion)
  11.                 Adaptador = New OleDb.OleDbDataAdapter("SELECT * FROM [Hoja1$]", Conexion)
  12.                 Sdataset = New DataSet()
  13.                 Adaptador.Fill(Sdataset, "Hoja1$")
  14.                 Sdatatable = Sdataset.Tables(0)
  15.                 Me.grid_listas.DataSource = Sdatatable
  16.                 Me.grid_listas.Font = New Font("Tahoma", 12, FontStyle.Regular, GraphicsUnit.Pixel)
  17.                 Me.grid_listas.ColumnHeadersDefaultCellStyle.Font = New Font("Tahoma", 12, FontStyle.Bold, GraphicsUnit.Pixel)
  18.                 Me.grid_listas.Columns(1).Width = 100
  19.                 Me.grid_listas.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
  20.                 Me.grid_listas.Columns(2).Width = 80
  21.             Catch ex As Exception
  22.                 MessageBox.Show(ex.Message)
  23.             End Try
  24.         Else
  25.             MessageBox.Show("Archivo No Válido", "Excel To Grid", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
  26.         End If

Tengo instalado el office 2007 en mi PC

Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #2 (permalink)  
Antiguo 06/08/2010, 08:36
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Llenar DataGridView Con Archivo Excel

Que tal compañeros, alguna idea del porque el mesaje de error???


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #3 (permalink)  
Antiguo 06/08/2010, 08:48
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Llenar DataGridView Con Archivo Excel

quien me puede ayudar kon la koneccion de la base datos en C# kon access para un menuitem....
es ke ya llevo 5 dias buskando y nada ke enkuentro nada parecido y nada me kiere funcionar !!!!
gracias !!!!
  #4 (permalink)  
Antiguo 06/08/2010, 10:39
 
Fecha de Ingreso: mayo-2002
Ubicación: Guatemala
Mensajes: 160
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: Llenar DataGridView Con Archivo Excel

@DANIEL0818:Para todas tus necesidades de strings de conexión podes encontrar las cadenas de conexión en esta página:

http://www.connectionstrings.com/

@Carlojas: Creo que el problema es el formato de los archivos, posiblemente el ODBC en los Data Access Components no este actualizado a la ultima versión, pero creo que seria conveniente utilizar el proveedor para Excel 2007... que este si deberia poder abrir 2007 y anteriores.

http://www.connectionstrings.com/excel-2007
__________________
José Luis Chávez del Cid
Systems Developer Specialist
ACS Inc./Xerox
Guatemala
  #5 (permalink)  
Antiguo 06/08/2010, 12:45
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Llenar DataGridView Con Archivo Excel

jlChavez gracias por tu colaboración, cambie la cadena de conexion como indican en la pagina que me pasaste pero ahora sale otro mensaje de error "No se pudo encontrar el archivo ISAM instalable", alguna otra observación al respecto??


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #6 (permalink)  
Antiguo 06/08/2010, 13:14
 
Fecha de Ingreso: mayo-2002
Ubicación: Guatemala
Mensajes: 160
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: Llenar DataGridView Con Archivo Excel

Rayos problema de versión, la correcta no es 12.0, si no 8.0 en la cadena de conexión con eso ya te deberia de funcionar! :)
__________________
José Luis Chávez del Cid
Systems Developer Specialist
ACS Inc./Xerox
Guatemala
  #7 (permalink)  
Antiguo 06/08/2010, 13:38
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Llenar DataGridView Con Archivo Excel

Gracias por responder, pero aun con lo que me dices continua saliendo el mismo mensaje de error: "No se puede encontrar el archivo ISAM instalable"

Gracias.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #8 (permalink)  
Antiguo 06/08/2010, 16:27
 
Fecha de Ingreso: mayo-2002
Ubicación: Guatemala
Mensajes: 160
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: Llenar DataGridView Con Archivo Excel

Podria ser un problema de determinar los tipos de datos en las columnas, ya que este trata de leer los datos de las primeras 8 filas para encontrar que tipo de dato es.

Verifica si tus datos estan mezclados los tipos, si es así pues agregarle este parametro a la cadena de conexión, dentro de los extended properties, "IMEX=1", para que considere todo como texto.

Si tuvieras puedes probar encerrando el valor del extended property en comillas dobles:

... Extended Properties=""Excel 8.0;HDR=YES;"""; ...

a ver si con eso ya anda. :)
__________________
José Luis Chávez del Cid
Systems Developer Specialist
ACS Inc./Xerox
Guatemala

Etiquetas: datagridview, excel, llenar
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 02:06.