Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-06-2016
DanielMC DanielMC is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 14
Poder: 0
DanielMC Va por buen camino
Excel a DBGrid

Saludos a todos.
Hace un tiempo ( gracias a la ayuda de ustedes!) logre exportar el contenido de un DBGrid a un Excel, ahora necesito hacer lo contrario, exportar los datos de un Excel hacia un DBGrid. He visto algunos códigos que me permiten cargan el Excel y visualizarlo, pero lo anterior no lo he encontrado.
Una vez que fuera solucionado el problema:
Como pudiera especificar que sea una hoja determinada del Excel que quiero que me cargue?
Como pudiera estar seguro que la exportación del Excel hacia el DBGrid fue satisfactoria?
Responder Con Cita
  #2  
Antiguo 17-06-2016
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.272
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Lo más fácil en este caso es utilizar ADO.
Con la cadena de conexión adecuada (donde la Hoja es el equivalente a la tabla) puedes ver los datos de una hoja Excel como si fueran una tabla.

De esa forma basta puedes conectar directamente a un Excel y mostrar los datos en un DBGrid (sin necesidad de copiar ni importar datos).

Si buscas por EXCEL+ADO en los foros encontrarás muchos hilos al respecto y en el FTP hay varios ejemplos para que puedas ver cómo se hace y cómo es la cadena de conexión.

Prueba con este, o este otro, aquí otro más,...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 17-06-2016
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
El truco está en meter el excel dentro de un TDataSet, que es lo que necesita un dbgrid para poder trabajar.

Tal y como dice Neftali, con ADO tenés el problema resuelto, ya que hay cierta cadena de conexión que te permite usar el archivo excel con componentes TADOQuery, que es el dataset que necesitas

Si buscas por el foro, vas a encontrar ejemplos y las distintas cadenas de conexión, hay algunas que agregan u omiten las cabeceras, etc

Yo dispongo de una unidad que implementa este acceso a excel usando una clase Delphi: RTL.Excel

Es necesario que instales Spring4D o que modifiques un poquito de código

También por como fue diseñado, espera una interface IDataSetCloner que realiza una copia de un TDataSet. Esto lo hacíamos para dejar el excel original intacto y poder cerrar el archivo y que no quede en uso.

Podes implementar tu versión de IDataSetCloner o bien proveer una implementación que no hace ninguna copia y devuelve el TDataSet original. La interface esta en la unidad RTL.DB
Responder Con Cita
  #4  
Antiguo 17-06-2016
DanielMC DanielMC is offline
Miembro
NULL
 
Registrado: sep 2012
Posts: 14
Poder: 0
DanielMC Va por buen camino
Gracias a ambos por responder!, a pesar de que ya tengo una idea de como pudiera hacerlo, los ejemplos a los que hacen referencia estan de Delphi, no tendran algo en C++ para ahorrarme un poco de tiempo...disculpen tanto pedir!
Responder Con Cita
  #5  
Antiguo 29-07-2022
marilinspi marilinspi is offline
Miembro
 
Registrado: ene 2007
Posts: 136
Poder: 18
marilinspi Va por buen camino
formato del excel

Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Lo más fácil en este caso es utilizar ADO.
Con la cadena de conexión adecuada (donde la Hoja es el equivalente a la tabla) puedes ver los datos de una hoja Excel como si fueran una tabla.

De esa forma basta puedes conectar directamente a un Excel y mostrar los datos en un DBGrid (sin necesidad de copiar ni importar datos).

Si buscas por EXCEL+ADO en los foros encontrarás muchos hilos al respecto y en el FTP hay varios ejemplos para que puedas ver cómo se hace y cómo es la cadena de conexión.

Prueba con este, o este otro, aquí otro más,...

hola me ha servido mucho tu respuesta, solo que no logro que cargue MI archivo de excel, si copio los datos de mi excel y los pego en el que viene en el ejemplo, funciona, pero el mio me dice "la tabla externa no tiene el formato esperado" , sera que hay que guardarlo de alguna manera especial para que lo tome, proveedor dejo el mismo, solo cambio el nombre del archivo...
Responder Con Cita
  #6  
Antiguo 01-08-2022
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.272
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Tal vez sea la versión en que estás grabando la hoja (XLS, XLSX). Revisa también el nombre de las pestañas.

Si quieres envía tu hoja Excel (con algún dato de ejemplo) y probamos a configurarla.
Puedes comprimirla en un ZIP y adjuntarla al mensaje.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
DBGrid a Excel en Delphi XE Antoniov OOP 6 12-09-2011 12:12:23
Exportar un DBGRID a excel luisneria Varios 4 16-03-2007 23:34:43
enviar dbgrid a excel con formato federicorl API de Windows 1 17-01-2007 17:52:52
exportar dbgrid a excel stuka Varios 7 21-07-2006 00:16:33
DBgrid A Excel con formato Caracolg SQL 3 04-11-2004 22:47:27


La franja horaria es GMT +2. Ahora son las 22:53:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi