FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Fastreport
Hola Casimiro si ejecuto un listado por Ole delphi excel, cuando son listados de mas de 1000 lineas se hace lentisimo, comienza a generar linea a linea cada mas mas lento, dentro del while. Por eso encontre que fastreport hace listados de 160 hojas en segundos y lo exporto a excel. Pero se me genera el problema como explico mas arriba cuando quiero enviar a una linea datos de distintas tablas no se como hacer en fastreport. Es decir si se enviar de una tabla con sus relaciones datos a fastreport, pero si quiero enviar a una linea por ejemplo apellido, despues ultimo ingreso en la facultad , etc... combinar datos por linea ahi me hago lio. Con respecto a delphi excel hice la prueba de hacer la carga de datos en memoria mediante vector pero aunque es mas rapido, igual es lento para listados de 10000 registros.
Gracias. Última edición por shoulder fecha: 26-02-2020 a las 13:36:12. |
#2
|
||||
|
||||
Creo entender que deberías usar un dataset del fastreport.
|
#3
|
|||
|
|||
Fastreport
Cierto casimiro pero al usar un dataset no me deja escribir mas texto en la linea que no vengan de ese dataset. Es decir solo me deja ver lo que viene de Select apellido.... pero si en la misma linea quiero agregar texto que no tiene nada que ver con ese select no me deja. En cambio con el excel directo mientras me encuentre en la misma linea ejemplo linea 12, puedo agregar en cada celda lo que yo quiera. Puede ser casimito que Ole delphi excel sea lento o me pasa a mi?, hasta 500 lineas va bien pero despues es cada vez mas lento.
Saludos. |
#4
|
||||
|
||||
FastReport es un reporteador de bandas, asi que su logica es diferente, pero puedes hacer de todo.
Con respecto a Excel, OLE es lento. La forma correcta es generar directamente el archivo. Aqui se mencionan algunas librerias: https://stackoverflow.com/questions/...t-having-excel
__________________
El malabarista. |
#5
|
||||
|
||||
Podrías crear un dataset en memoria que representará el contenido que enviarás a excel. Llenarlo como quieras y asociar ese dataset a la banda de FR.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
#6
|
||||
|
||||
Para informes muy complejos (porque manejan múltiples fuentes de datos formateadas de modos peculiares) he llegado a usar un HyperGrid. Lo rellenas como quieras y puedes guardarlo directamente en un fichero XML (saveToFile) o enlazarlo con casi cualquier herramienta de informes. Lo que no sé es cual es el volumen de datos que maneja.
|
#7
|
|||
|
|||
Fastreport
Primero gracias por las respuestas, probe con tablas en memoria, pero cuando asocio al dataset para incorporar los campos en la banda me dice tabla inexistente porque todavia no fue creada y ahi no que hacer.
Porque haciendo un matriz y enviando a excel fuera de fastreport tambien es lento delphi. Hasta 11 columnas y 1000 lineas va bien pero despues se hace lento. Por eso queria pasar todos los reportes del programa a fastreport ya que lo vi mucho mas rapido. Por ejemplo con OLE actualmente delphi7 y excel 5000 lineas x 50 columnas me tarda 5 minutos. Con vector baja a 3 minutos. Con fasreport 160 hojas en 5 segundos mas 1 minuto que lo transforma en excel. Saludos. |
#8
|
||||
|
||||
Depende del componente que estés usando. Lo más básico es usar un TClientDataset descoenactado de un servidor remoto y en tiempo de ejecución antes de usarlo usas la función CreateDataSet (También puedes crearlo en tiempo de diseño para hacer el reporte)
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿Como enviar un Record mediante un Socket? | jednavlop | Internet | 5 | 27-05-2012 09:18:54 |
Enviar fax mediante código | vivamotos | C++ Builder | 0 | 08-07-2010 12:31:54 |
Enviar correo electronico mediante MAPI | adebonis | API de Windows | 3 | 12-10-2006 08:38:25 |
Enviar informacion mediante IdTCP | Lionel | Varios | 0 | 31-05-2004 10:05:30 |
Error al enviar mails mediante smtp, AUXILIO!!! | Walterdf | Internet | 1 | 18-12-2003 17:58:55 |
|