FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Optimización en exportación a Excel
Saludos primeramente Chicos:
realizando consulta por el club y encontrando varias códigos de interés a mi propósito para exportación desde Delphi utilizando ClientDataSet seguí dichas indicaciones de esta forma:
en fin al ejecutar la exportación de 10,000 mil registro es demasiado lento casi 4 minutos. Alguien podría ayudarme a la optimización para que sea más rápida la exportación ? Agradeciendo su colaboración; Saludos; novato_erick |
#2
|
||||
|
||||
Así viendo el código por encima, no parece que se pueda hacer muchas cosa en él para optimizarlo.
Primero hace un recorrido por los títulos y luego para cada fila/registro (WHILE) recorre las columnas (FOR) para obtener los valores. No veo mucha posible mejora, salvo que intentes utilizar Threads. Pero en ese caso no hablamos de reducir el tiempo, sino que al utilizar threads, lo que consigues es hacerlo en un proceso "secundario" y no "bloquear" la aplicación principal. Lo otro que se me ocurre (que esto sí puede que reduzca el tiempo), es que intentes conectar a excel utilizando ADO, en lugar de TExcelApplication. Es decir, puedes configurar una conexión a Excel utilizando el TADOconnection, de forma que la hoja de Excel se consulta como una tabla. En los foros ya hemos hablado del tema (ADO+Excel); Busca mensajes antiguos para que puedas ver ejemplos de conexión y diría que en el FTP puedes encontrar incluso ejemplos de ello. Si no encuentras nada, dilo.
__________________
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. |
#3
|
||||
|
||||
Hola,
tal como lo planteas abriendo el excel como un objeto OLE no se puede acelerar. El tiempo se va en la sincronización de la exportación de la aplicación con el excel, celda a celda. Si sólo trabajas con una pestaña, puedes exportar a csv y luego cargar el dato en excel. Si no, las alternativas que tienes son: - utilizar alguna libería que genere los ficheros excel directamente ( las hay gratuitas aunque no sé cual recomendarte) - utilizar las hojas excel como tablas tal y como te indica Neftalí. La diferencia es sustancial. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#4
|
|||
|
|||
Solucion a Excel lento
Mira en la parte final de este post respondi esa pregunta, espero te sirva:
https://www.clubdelphi.com/foros/showthread.php?t=94464 |
#5
|
||||
|
||||
Componentes de FireSoft
Hola Novato_Erick
En esta página https://torry.net/authorsmore.php?id=6057 podras bajar unos componentes que te puedan ayudar (Autor:Federico Firenze). FireSoft ExportSuite V.1, son Free. Talvez te ayuden a ser mas rápido la exportación. Saludos.
__________________
Miguel Román Afectuoso saludo desde tierras mexicanas....un aguachile?, con unas "cetaseas" bien "muertas"?, VENTE PUES !! |
#6
|
|||
|
|||
Cita:
Tenias razón marcos utilizando el Componente ADO la exportación fue en dos pestañazos . Esto fué lo que implementé Gracias a ustedes:
como coloque en el comentario: "No he logrado poner los encabezado" de la tabla igual está funcional mejoraré y al términar pondré el código final. Saludos; novato_erick |
#7
|
|||
|
|||
Se me olvido poner que en mi ADODataSetInforme le puse en la propiedad ConnectionString: Provider=Microsoft.Jet.OLEDB.4.0; Mode=ReadWrite;Extended Properties=Excel 8.0;Persist Security Info=False
Saludos; novato_erick |
#8
|
|||
|
|||
Cita:
Agregar encabezados en sencillo, por ejemplo agrega esto mas o menos así:
|
#9
|
|||
|
|||
Cita:
Ohhh gracias... Quedo de anillo al dedo. Saludos y Bendiciones por su ayuda. novato_erick |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Error con exportacion a Excel | jafera | Servers | 2 | 28-08-2014 11:53:15 |
Personalizar exportacion a excel | ilichhernandez | Conexión con bases de datos | 12 | 08-06-2011 20:52:59 |
QReport Exportación a PDF, Excel, TXT, ETC | pmtzg | Impresión | 1 | 11-05-2010 00:10:50 |
exportacion de access a excel | luxus | Conexión con bases de datos | 3 | 15-04-2008 20:30:59 |
Exportacion a Excel incorrecta | jfloro | Servers | 4 | 19-09-2003 08:48:36 |
|