PDA

Ver la Versión Completa : Exportar QRPreview a Excel


mRoman
15-06-2005, 21:06:42
Hola amigos !

Les escribo de manera super urgente ya que tengo un problema con la generación de un reporte. La persona a la que le estoy haciendo el sistema pidio que el reporte que presenta al QUICKREPORT se pueda generar con formato Excel, sé que hay componentes y de hecho ya los tengo, agregue el de Excel, pero desafortunadamente no lo genera con la misma presentación del QuickReport. La otra solución seria generarle un archivo de tipo texto o con formato DBF, para que pueda observar la información en donde le de su gana....también les pido me apoyen con esto, como generar el contenido de un query a DBF o TXT. Esto ultimo ya no se generaria del QuickReport si no de un formulario, talvez, que me permita seleccionar el tipo de formato a Exportar, (TXT o DBF).

Gracias por su ayuda ! y espero recibir respuesta.

lgarcia
15-06-2005, 22:03:59
Hola

Aunque tu pregunta es muy amplia te voy a tratar de responder la primera parte que es la de exportar a Excel partiendo de una consulta con el siguiente codigo:

procedure TFormMenu.Plantilla1Click(Sender: TObject);
var
Excel, Libro: Variant;
i: integer;
Nombre: string;
begin
Excel:=CreateOleObject('Excel.Application');
Excel.Visible := False;
Excel.DisplayAlerts:= False;
Excel.WorkBooks.Add('C:\Archivos de programa\Tienda\Productos.xlt');
Excel.WorkBooks[1].WorkSheets[1].Name := 'Productos';
Libro := Excel.WorkBooks[1].WorkSheets['Productos'];
with Productos do
begin
Close;
Open;
end;
Productos.First;
i:= 2;
while not (Productos.Eof) do
begin
Libro.Cells [i,1] := ProductosCodTrasval.Value;
Libro.Cells [i,2] := ProductosDescripcionPLU.Value;
Libro.Cells [i,3] := ProductosPrecioCosto.Value;
Libro.Cells [i,4] := ProductosPrecioventa.Value;
Libro.Cells [i,5] := Productosum.Value;
Libro.Cells [i,6] := ProductosCategoria.Value;
inc(i);
Productos.Next;
end;
Libro.SaveAs('C:\Archivos de programa\Tienda\Listado transferencias');
ShowMessage(' El fichero Listado transferencias.xls ha sido creado exitosamente');
Excel.Quit;
end;

Donde Productos en este caso es la consulta.
Debes incluir en el uses de la Unit las unidades Excel97, ComObj

Te recomiendo que utilices una plantilla de Excel (Productos.xlt) porque asi te evitas tener que preocuparte por el formato de los datos.

Bueno espero que te sirva

Saludos
Luis Garcia

_____________________________
La mejor manera de decir es hacer

mRoman
15-06-2005, 22:10:55
GRacias por tu ayuda super rápida mano.....intentaré hacer esto.

GRACIAS NUEVAMENTE!