Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Componentes para Exportar (https://www.clubdelphi.com/foros/showthread.php?t=74080)

leogobo 29-05-2011 22:59:14

Componentes para Exportar
 
hola,

He estado intentando exportar a un archivo, y he encontrando algunos codigos pero supe como utilizarlos. No se si alguno me podria indicar como utilizar los componentes de delphi.com.ar, es que soy novato y no se como instalar los componentes y menos como utilizarlos.

Gracias

Neftali [Germán.Estévez] 30-05-2011 12:05:13

¿Qué quieres exportar?
¿A qué archivo lo quieres exportar?

Hay componentes como los que comentas (ExportSuite) o los de Max (que puedes encontrar en el FTP).
Ambos funcionan.

1º) Busca en los foros.
2º) Intenta instalarlos; Si no te funciona, dinos cómo lo haces, qué error te da, porqué no te funciona,... e intentaremos ayudarte.

alej.villa 31-05-2011 15:24:54

buenos dias yo estoy tratando de exportar los datos de un dbgrid a excel 2007 tengo el siguiente codigo de delphi 7
procedure TformEmpleados.Button1Click(Sender: TObject);
var Excel, Libro : Variant;
var i:integer;
begin
// Crea una aplicacion Excel.
Excel := CreateOleObject ('Excel.Application');
// La muestra (vas a ver un Excel como si lu ubieras ejecutado)
Excel.Visible := True;
// Agrega un libro.
Excel.WorkBooks.Add (-4167);
// Le asigna un nombre al libro
Excel.WorkBooks[1].WorkSheets[1].Name := 'Reporte';
// Hace un puntero al libro del Excel.
Libro := Excel.WorkBooks[1].WorkSheets['Reporte'];

dm.Query.SQL.Add ('Select cedula, nombres, apellidos, sexo, turno, fecha_ingreso, cargo from Empleados');
dm.Query.Open;
i:=1;
while not dm.Query.EOF do
begin
// aqui le ponemos nombre a los campos
Libro.Cells [1,1] := 'Cedula';
Libro.Cells [1,2] := 'Nombre';
Libro.Cells [1,3] := 'Apellido';
Libro.Cells [1,4] := 'Sexo';
Libro.Cell [1,5] := 'Turno';
Libro.Cell [1,6] := 'Fecha de Ingreso';
Libro.Cell [1,7] := 'Cargo';
i:=i+1;
Libro.Cells [i,1] := dm.Query.FieldByName ('cedula').AsString;
Libro.Cells [i,2] := dm.Query.FieldByName ('nombres').AsString;
Libro.Cells [i,3] := dm.Query.FieldByName ('apellidos').AsString;
Libro.Cells [i,4] := dm.Query.FieldByName ('sexo').AsString;
Libro.cells [i,5] := dm.Query.FieldByName ('turno').AsString;
Libro.Cells [i,6] := dm.Query.FieldByName ('fecha_ingreso').AsString;
Libro.Cells [i,7] := dm.Query.FieldByName ('cargo').AsString;

dm.Query.Next;
end;

//Query.Close;
end;

en estas lineas
Libro.Cell [1,5] := 'Turno';
Libro.Cell [1,6] := 'Fecha de Ingreso';
Libro.Cell [1,7] := 'Cargo';
me dice un error de 'Method 'Cells' not supported by automation object'
quisiera que me explicaran un poco porque sucede este error y como puedo solucionarlo

Gracias!

Neftali [Germán.Estévez] 31-05-2011 15:50:16

Hola.
Deberías comentar qué versión de Office tienes y asegurarte (de donde hayas conseguido el código) que funciona con esa versión. El tema de automatización varía para versiones diferentes de Word/Excel.

También puedes buscar en los foros; Es un tema tratado ampliamente y seguramente encontrarás más código para probar/comparar con este.

Utiliza TAG's cuando añadas partes de código Delphi; Mejora la lectura.

Un saludo.

alej.villa 31-05-2011 16:47:41

listo el codigo funciona a la perferccion el detalle estaba en esta linea
Libro.Cells [i,6] := dm.Query.FieldByName ('fecha_ingreso').AsString;
la estaba declarando como string y en la base de datos la tengo como datetime, lo que hice fue cambiarla asi
Libro.Cells [i,6] := dm.Query.FieldByName ('fecha_ingreso').AsDateTime;
y me lo exporta perfecto :) de todas maneras gracias!


La franja horaria es GMT +2. Ahora son las 14:34:22.

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