Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Servers
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
Talking Tutorial Paso a Paso Exportación de datos de TQuery a Excel

El código presentado y explicado a continuación fué desarrollado por mi, con ayuda de varios del foro

Pasos para exportar de 1 DbGrid1 a Excel

1) En la Pestaña Servers Buscamos y agregamos un componente llamado TExcelApplication
2) Esta demás decir que ya debe estar lista la consulta Sql sin errores
3) Agregar a la Uses ComObj
4) Declaramos las siguientes variables:
Cita:
Libro : _WORKBOOK;
Hoja : _WORKSHEET;
i:Integer;
5) agregamos este código dentro del begin y end del procedure, esta nos sirve para crear el archivo de excel sin Nombre, si le quieres poner nombre cambia Null por tu variable.

i nos manejará el número de filas

Cita:
i:=0;
Libro := ExcelApplication1.Workbooks.Add(Null, 0);
6)luego agregamos esta nueva linea de código en donde elegimos en que Hoja vamos a trabajar

Cita:
Hoja := Libro.Sheets[1] as _WORKSHEET;
7) Luego agregamos este código:

Cita:
with Query1 do
begin
first;
while not EOF Do
begin
i:=i+1;
Hoja.Cells.Item[i,1]:=DBGrid1.Fields[0].AsString;
Hoja.Cells.Item[i,2]:=DBGrid1.Fields[1].AsString;
Hoja.Cells.Item[i,3]:=DBGrid1.Fields[2].AsString;
Hoja.Cells.Item[i,4]:=DBGrid1.Fields[3].AsString;
Hoja.Cells.Item[i,5]:=DBGrid1.Fields[4].AsString;
Hoja.Cells.Item[i,6]:=DBGrid1.Fields[5].AsString;
Hoja.Cells.Item[i,7]:=DBGrid1.Fields[6].AsString;
Hoja.Cells.Item[i,8]:=DBGrid1.Fields[7].AsString;
Hoja.Cells.Item[i,9]:=DBGrid1.Fields[8].AsString;
Hoja.Cells.Item[i,10]:=DBGrid1.Fields[9].AsString;
Next;
end;//while
end;//with

8) ahora pedimos que el libro que ahora está listo se abra y muestre los datos que agregamos

Cita:
ExcelApplication1.Visible[1]:=true;

Nuestro código final nos queda asi:
Cita:
procedure TForm14.Button1Click(Sender: TObject);
var
Libro : _WORKBOOK;
Hoja : _WORKSHEET;
i:Integer;
begin
i:=2;
Libro := ExcelApplication1.Workbooks.Add(Null, 0);
Hoja := Libro.Sheets[1] as _WORKSHEET;
Hoja.Cells.Item[1,1]:='Reporte';
Hoja.Cells.Item[1,1].Font.Bold:=True;
with Query1 do
begin
first;
while not EOF Do
begin
i:=i+1;
Hoja.Cells.Item[i,1]:=DBGrid1.Fields[0].AsString;
Hoja.Cells.Item[i,2]:=DBGrid1.Fields[1].AsString;
Hoja.Cells.Item[i,3]:=DBGrid1.Fields[2].AsString;
Hoja.Cells.Item[i,4]:=DBGrid1.Fields[3].AsString;
Hoja.Cells.Item[i,5]:=DBGrid1.Fields[4].AsString;
Hoja.Cells.Item[i,6]:=DBGrid1.Fields[5].AsString;
Hoja.Cells.Item[i,7]:=DBGrid1.Fields[6].AsString;
Hoja.Cells.Item[i,8]:=DBGrid1.Fields[7].AsString;
Hoja.Cells.Item[i,9]:=DBGrid1.Fields[8].AsString;
Hoja.Cells.Item[i,10]:=DBGrid1.Fields[9].AsString;
Next;
end;//while
end;//with
ExcelApplication1.Visible[1]:=true;
end;
poco a poco lo van mejorando y eso

con Hoja.Cells.Item encuentran funciones de Negrita Italic y cosas aplicables a las celdas

Espero que les sirva de algo
__________________
Las cosas o son, o no son...
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Conectar aplicacion Delphi con BBDD MySQL paso por paso cslbcn Conexión con bases de datos 5 11-09-2008 03:44:14
compilar paso a paso (delphi 2007) totote Varios 7 02-01-2008 20:15:32
ayuda paso a paso Shared Connection eangeles Providers 0 09-11-2006 03:06:04
Ejecutar Query Paso a Paso??? juliopag1 SQL 0 17-06-2006 02:51:10
Novato (Paso a Paso de una consulta) enecumene Conexión con bases de datos 2 29-05-2006 21:52:19


La franja horaria es GMT +2. Ahora son las 11:17:31.


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
Copyright 1996-2007 Club Delphi