Exportar DBGRID de Delphi a Excel
Hichem_81
Mensajes publicados
126
Estado
Miembro
-
110110100010001 -
110110100010001 -
Hola,
Sé que hemos hecho la pregunta una y otra vez, pero no puedo hacerlo.
Quisiera exportar el contenido de mi DBGRID Delphi a Excel.
He intentado los códigos fuente que se dan en la red, pero no sé exactamente dónde ponerlos y qué más declarar como procedimiento.
Además, no tengo conocimiento sobre MACROS.
Entonces, si pudieras ayudarme, sería realmente amable.
Utilizo un simple DATASOURCE.
Gracias de antemano.
Configuración: Windows 7 / Firefox 4.0.1
Sé que hemos hecho la pregunta una y otra vez, pero no puedo hacerlo.
Quisiera exportar el contenido de mi DBGRID Delphi a Excel.
He intentado los códigos fuente que se dan en la red, pero no sé exactamente dónde ponerlos y qué más declarar como procedimiento.
Además, no tengo conocimiento sobre MACROS.
Entonces, si pudieras ayudarme, sería realmente amable.
Utilizo un simple DATASOURCE.
Gracias de antemano.
Configuración: Windows 7 / Firefox 4.0.1
1 respuesta
Hola,
Por mi parte, usamos un componente TDatasetExport (¿Embarcadero??) - la exportación se realiza en PDF/Excel, CSV en dos líneas de código (vinculación del componente al Dataset y ejecución de la función Execute del componente) para abrir automáticamente el documento correcto.
La semana que viene investigaré el origen del componente que utilizamos si te interesa.
Por otro lado, aquí tienes una lista de API gratuitas o de pago:
http://www.torry.net/pages.php?id=555
¡Hasta pronto!
Por mi parte, usamos un componente TDatasetExport (¿Embarcadero??) - la exportación se realiza en PDF/Excel, CSV en dos líneas de código (vinculación del componente al Dataset y ejecución de la función Execute del componente) para abrir automáticamente el documento correcto.
La semana que viene investigaré el origen del componente que utilizamos si te interesa.
Por otro lado, aquí tienes una lista de API gratuitas o de pago:
http://www.torry.net/pages.php?id=555
¡Hasta pronto!
Sí, me interesa si encuentras algo nuevo sobre el tema.
Voy a revisar inmediatamente el enlace que me diste, muchas gracias.
El componente gráfico de la paleta que estamos utilizando es el componente TReportD3 de ReportSmith (y no TDataSetExport como se anunció en mi post anterior).
Este componente se proporciona normalmente desde la versión de Delphi 3 en tu versión de Borland (ha reemplazado al componente TReport): puede que tengas que configurar tu paleta para que aparezca (cambiarlo de "hidden" a "active" en la paleta).
Si te interesa tener solo el paquete, creo que se puede encontrar en la página http://www.torry.net/pages.php?id=188 a través de la entrada llamada TReportD3 v.1.1 (extraer, poner los .dcu en la Lib de tu carpeta de instalación de Borland y configurar Borland para que el componente aparezca en tu paleta).
No tengo por ahora un ejemplo muy preciso a mano para mostrarte cómo configurar y utilizar este componente (aunque se puede resumir en dos líneas para generar una exportación XLS) y no he encontrado nada concluyente en la red: te los enviaré sin falta mañana por la mañana en el trabajo.
Es algo así (atención, seguramente no es la sintaxis correcta):
Nosotros mismos utilizamos este componente para hacer exportaciones XLS "en bruto" (los datos se descargan tal cual sin formato - solo con los nombres de las columnas del DataSet), pero creo que según lo que he leído, se pueden generar exportaciones "avanzadas" de ReportSmith.
Sin embargo, no comprendí tu enfoque con las macros XLS de las que hablas, pero si ReportSmith puede hacer informes con un formato complicado, entonces es la API de ReportSmith la que se encargará de generar "al vuelo" las macros necesarias para realizar esos formatos - no hay nada que hacer de tu lado en Excel...
Espero que sea esto lo que buscas - según lo que he entendido.
Saludos y hasta el lunes.
Estoy ejecutando mi aplicación en Delphi 7, pero si esto puede facilitarme la exportación de mi DBGRID, pues por qué no, añadiré fácilmente el componente.
Con respecto al MACRO, creía que teníamos que escribir líneas previamente para hacer funcionar nuestra exportación. Aparentemente, estaba equivocado...
La verdad es que me he perdido un poco en falsos caminos, como añadir un componente ''JVCL'', buscar líneas de código, intentar hacer funcionar todo... y luego nada.
Por otro lado, el enlace que me diste ayer está en inglés, y... desgraciadamente no soy muy bueno en inglés. Así que esperaré pacientemente las líneas de código que me enviarás mañana. Por favor, intenta decirme con qué componente se asocian esas líneas de código.
Gracias de nuevo infinitamente por detallar tanto tu respuesta.
Hasta mañana entonces.
ReportSmith sigue estando disponible en Delphi 7 y se incluye por defecto con todos los demás componentes.
>> Lo usamos para hacer exportaciones XLS / CSV y PDF.
No sé si es el mejor, pero en cualquier caso está incluido en la licencia básica.
para el MACRO, creía que debíamos escribir líneas previamente para hacer funcionar nuestra exportación
Es ReportSmith quien se encarga de generar el archivo XLS y todo su contenido - incluidas las macros necesarias (por ejemplo, para generar una tabla de Excel sofisticada): no hay nada que preconfigurar de tu parte en Excel.
Así que, en resumen, debes colocar tu componente en tu Form y configurarlo de forma gráfica (principalmente asociando el DataSet y el tipo de archivo de salida).
Luego instancias este componente en tu código en el FormCreate, asegúrate de que tu DataSet esté abierto y solo tienes que llamar al método Run() en el momento en que lo necesites (por ejemplo, al activar un TButton) para que ReportSmith abra automáticamente tu archivo XLS en Excel cargado con todos los datos apuntados por tu DataSet.
Y eso es todo - solo tienes que hacer correctamente un Free() de tu instancia al cerrar el formulario FormClose.
la verdad me perdí un poco en falsas pistas, como: añadir un componente ''JVCL'', buscar las líneas de código, intentar hacer que todo funcione... y luego más nada.
Entiendo - no obstante, el paquete JVCL seguramente contiene ejemplos precisos de uso para ayudarte a utilizar tus componentes - debes mirar bien en el paquete instalado porque seguramente se ofrecen ejemplos .pas - ¿qué componente JVCL estabas tratando de implementar para exportar tus datos?..
Nota: ReportSmith no es un componente JVCL.
Te enviaré mañana por la mañana ejemplos detallados de código - las fuentes solo son accesibles en mi lugar de trabajo y no las conozco de memoria - no uso RS a menudo.
Recordatorio: el componente es el TReportD3 - trata de localizarlo en tu paleta de Borland mientras tanto.
cordialmente.
Parece que estoy completamente confundido porque el TReportD3 no admite propiamente la generación automática de archivos XLS.
>> Sirve para ejecutar sus scripts RS.
En cualquier caso, nosotros mismos utilizamos un componente "hecho en casa" que recorre todo el DataSet para escribir en un archivo - no es complicado pero hay que escribirlo de todos modos.
Voy a informarme sobre las API "gratuitas" del enlace que te di más arriba.
Por mi parte, tendrás una solución lo más pronto posible, a más tardar mañana - no hay problema.
Lo siento y hasta luego.