Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-06-2025
ArtPortEsp ArtPortEsp is offline
Miembro
 
Registrado: may 2018
Ubicación: Mexico
Posts: 176
Poder: 9
ArtPortEsp Va por buen camino
Exportar FastReport a Excel

Hola;

antes de decidir escribir este tema revise los posts anteriores para ver si alguno podia responder mis dudas pero no.

No uso FastReport regularmente (team ReportBuilder a morir); pero en este proyecto tengo que usarlo.

necesito exportar un reporte a Excel sin presentar un preview; con la ayuda de chatgpt llegue a este codigo:
Código:
  RepConciliacion.PrepareReport;
  //RepConciliacion.ShowReport;

  try
    SaveDialog1.Filter     := 'Archivos Excel (*.xlsx)|*.xlsx|Todos los archivos (*.*)|*.*';
    SaveDialog1.DefaultExt := 'xlsx';
    SaveDialog1.FileName   := 'Reporte_Conciliacion ('+EXTRACTFILENAME(CBRcuentasconciliadas.text)+').xlsx';
    SaveDialog1.Options    := [ofOverwritePrompt];

    if not SaveDialog1.Execute then Exit;   // Usuario canceló

    XLSXreport.FileName := SaveDialog1.FileName;
    XLSXreport.ShowDialog := False;
    XLSXreport.OpenAfterExport := True; // Opcional

    RepConciliacion.Export(XLSXreport);  // Exporta a Excel

    if FileExists(SaveDialog1.FileName) then
    begin
      Application.MessageBox(PChar('Archivo '+SaveDialog1.Filename+' generado!'), PChar('Mensaje del Sistema'),MB_OK+MB_ICONWARNING);
      Exit;
    end
    else
    begin
      Application.MessageBox(PChar('Fallo la generacion del archivo de la conciliacion!'), PChar('Mensaje del Sistema'),MB_OK+MB_ICONWARNING);
      Exit;
    end;
  finally

  end;

end;
Tengo el componente TfrxXLSXExport en la forma, pero al llegar a la linea: RepConciliacion.Export(XLSXreport); // Exporta a Excel me generar un error Access Violation
alguien sabe que estoy haciendo mal?

Saludos
Responder Con Cita
  #2  
Antiguo 04-06-2025
Galahad Galahad is offline
Miembro
 
Registrado: abr 2007
Posts: 266
Poder: 20
Galahad Va por buen camino
Hola.
lo veo todo bien, de hecho, he replicado ese código en mi entorno y funciona bien.
A lo sumo , probaría a poner el preparereport más cerca del export y le pasaría el parámetro true (crearlastreport), es decir preparereport( true )

¿ que versión de fastreport utilizas ? ¿ tienes en el form visual ambos componentes (el del report y del xlsexport ?
aseguraté de tener en los uses la unidad: frxExportXLSX

saludos..
Responder Con Cita
  #3  
Antiguo 04-06-2025
marco3k marco3k is offline
Miembro
 
Registrado: feb 2015
Posts: 106
Poder: 12
marco3k Va por buen camino
Hola ArtPortEsp, ya probaron tu código y funciona, entonces como dice Galahad, quizás sea la versión de Fastreport o quizás la versión de tu Excel. A modo de descartar, haz probado exportar al Excel desde la vista previa del reporte?. También hay 2 versiones de librerías para exportar frxExportXLS y frxExportXLSX prueba con una y la otra; creo que usaste frxExportXLSX, intenta usar frxExportXLS.

Última edición por marco3k fecha: 04-06-2025 a las 15:13:02.
Responder Con Cita
  #4  
Antiguo 07-09-2025
Efren2006 Efren2006 is offline
Miembro
 
Registrado: feb 2006
Posts: 178
Poder: 21
Efren2006 Va por buen camino
Cita:
Empezado por ArtPortEsp Ver Mensaje
Hola;

antes de decidir escribir este tema revise los posts anteriores para ver si alguno podia responder mis dudas pero no.

No uso FastReport regularmente (team ReportBuilder a morir); pero en este proyecto tengo que usarlo.

necesito exportar un reporte a Excel sin presentar un preview; con la ayuda de chatgpt llegue a este codigo:
Código:
  RepConciliacion.PrepareReport;
  //RepConciliacion.ShowReport;

  try
    SaveDialog1.Filter     := 'Archivos Excel (*.xlsx)|*.xlsx|Todos los archivos (*.*)|*.*';
    SaveDialog1.DefaultExt := 'xlsx';
    SaveDialog1.FileName   := 'Reporte_Conciliacion ('+EXTRACTFILENAME(CBRcuentasconciliadas.text)+').xlsx';
    SaveDialog1.Options    := [ofOverwritePrompt];

    if not SaveDialog1.Execute then Exit;   // Usuario canceló

    XLSXreport.FileName := SaveDialog1.FileName;
    XLSXreport.ShowDialog := False;
    XLSXreport.OpenAfterExport := True; // Opcional

    RepConciliacion.Export(XLSXreport);  // Exporta a Excel

    if FileExists(SaveDialog1.FileName) then
    begin
      Application.MessageBox(PChar('Archivo '+SaveDialog1.Filename+' generado!'), PChar('Mensaje del Sistema'),MB_OK+MB_ICONWARNING);
      Exit;
    end
    else
    begin
      Application.MessageBox(PChar('Fallo la generacion del archivo de la conciliacion!'), PChar('Mensaje del Sistema'),MB_OK+MB_ICONWARNING);
      Exit;
    end;
  finally

  end;

end;
Tengo el componente TfrxXLSXExport en la forma, pero al llegar a la linea: RepConciliacion.Export(XLSXreport); // Exporta a Excel me generar un error Access Violation
alguien sabe que estoy haciendo mal?

Saludos
Buenas Tardes

Yo uso Fast Report de hace años en una aplicación que realice, y a veces he observado este error cuando el cliente no tiene actualizada la licencia de Office, ya que usa las librerías de Excel.

Lo dejo como TIP
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
FastReport Exportar PDF giantonti1801 FireMonkey 8 30-03-2023 13:20:59
Fastreport exportar richedit a pdf Galahad Impresión 2 20-04-2017 13:26:09
Exportar en FastReport bismarito Impresión 7 14-01-2015 17:15:20
Error al exportar a Excel con FastReport 4 wull Impresión 2 09-11-2012 02:36:44
Exportar FastReport a Word acrophet Impresión 1 19-06-2004 01:21:21


La franja horaria es GMT +2. Ahora son las 04:46:35.


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