Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
Exclamation De TQuery a Excel

saludos tengo una consulta sql en la que guardo 12 columnas con n filas

¿como puedo hacer para que presionando un boton, se exporten tal cual, los datos a microsoft excel 2003?

he visto varios ejemplos por la web pero son algo enrededos y no los entiendo muy bien...

salu2 y gracias adelantadas
uso Componentes:

Delphi7
Paradox 7
BDE..TTable
TQuery
DBGrid
Datasource
__________________
Las cosas o son, o no son...
Responder Con Cita
  #2  
Antiguo 03-11-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Código Delphi [-]
  Excel:=CreateOleObject('Excel.Application');
  Excel.Visible := False;
  Excel.DisplayAlerts:= False;
  Excel.WorkBooks.Add;
  Excel.WorkBooks[1].WorkSheets[1].Name := 'Libro';
  Libro := Excel.WorkBooks[1].WorkSheets['Libro'];
  Libro.Cells[1,1]:='Reporte';
  Libro.Cells[4,1].Font.Bold:=True;
  Libro.Columns.Columns[2].ColumnWidth := 50;
  with UnQuery do begin
   first;
   Libro.Cells[i,1]:=FieldByname('UnCampo').AsString;
   Libro.Cells[i,1].Font.Bold:=True;   
   while not EOF Do begin
      Libro.Cells[i,1]:=FieldByName('OtroCampo').AsString;
      .....
      Next;
   end; //while
end; //with
__________________

Responder Con Cita
  #3  
Antiguo 04-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
Exclamation

Cita:
Empezado por ContraVeneno Ver Mensaje
Código Delphi [-] Excel:=CreateOleObject('Excel.Application'); Excel.Visible := False; Excel.DisplayAlerts:= False; Excel.WorkBooks.Add; Excel.WorkBooks[1].WorkSheets[1].Name := 'Libro'; Libro := Excel.WorkBooks[1].WorkSheets['Libro']; Libro.Cells[1,1]:='Reporte'; Libro.Cells[4,1].Font.Bold:=True; Libro.Columns.Columns[2].ColumnWidth := 50; with UnQuery do begin first; Libro.Cells[i,1]:=FieldByname('UnCampo').AsString; Libro.Cells[i,1].Font.Bold:=True; while not EOF Do begin Libro.Cells[i,1]:=FieldByName('OtroCampo').AsString; ..... Next; end; //while end; //with
salu2 contraveneno tarté de completar el código y me quedó así:
el código 1ero que nada lo puse dentro de un tbuton, agregue un componente texcelapplication

Código Delphi [-]
procedure TForm48.Button1Click(Sender: TObject);
var
libro: ExcelApplication;
begin
  ExcelApplication1:=CreateOleObject('Excel1.Application');
  ExcelApplication1.Visible := False;
  ExcelApplication1.DisplayAlerts:= False;
  ExcelApplication1.WorkBooks.Add;
  ExcelApplication1.WorkBooks[1].WorkSheets[1].Name := 'Libro';
  Libro:= ExcelApplication1.WorkBooks[1].WorkSheets['Libro'];
  Libro.Cells[1,1]:='Reporte';
  Libro.Cells[4,1].Font.Bold:=True;
  Libro.Columns.Columns[2].ColumnWidth := 50;
  with Query1 do begin
   first;
   Libro.Cells[i,1]:=FieldByname('numero').AsString;
   Libro.Cells[i,1].Font.Bold:=True;
   while not EOF Do begin
      Libro.Cells[i,1]:=FieldByName('cod_emp').AsString;
      //.....
      Next;
   end; //while
end; //with

y mira los errores que me da :S

__________________
Las cosas o son, o no son...
Responder Con Cita
  #4  
Antiguo 04-11-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola lKinGl,
Intuyo que esas series de errores se deben a dos cosas (como mínimo):
1. Tus variables excel y libro no están declaradas como variant. Declaralas como Variant.
2. Debes añadir a uses la unidad ComObj.

Tal vez este hilo te refresque algunas cosas.
Y si buscas en torry.net encontrarás componentes con lo que se te puede hacer más fácil el trabajo.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 04-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
Cita:
Empezado por Delphius Ver Mensaje
Hola lKinGl,
Intuyo que esas series de errores se deben a dos cosas (como mínimo):
1. Tus variables excel y libro no están declaradas como variant. Declaralas como Variant.
2. Debes añadir a uses la unidad ComObj.

Tal vez este hilo te refresque algunas cosas.
Y si buscas en torry.net encontrarás componentes con lo que se te puede hacer más fácil el trabajo.

Saludos,
gracias por tu respuesta oportuna delphius ahora el soft al menos corre pero da este error mira:




gracias adelantadas
__________________
Las cosas o son, o no son...
Responder Con Cita
  #6  
Antiguo 04-11-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Tienes Excel instalado?
Otras opciones para exportar pueden ser utilizar ADO, para guardar los datos en excel como si fuera una tabla (Busca en los foros, ya lo hemos tratado otras veces) o componentes externos que te faciliten el trabajo. Por ejemplo los de Max, que tienen la opción de exportación a Excel.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 04-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
sip ya instale MxExcelNative

me imagino que es ese de tantos componentes ahora como lo uso?

necesito que me enseñen a exportar ya sea de paradox a excel o que se llene mediante delphi 7 una hoja de excel.... como sea mas facil...gracias adelantadas
__________________
Las cosas o son, o no son...
Responder Con Cita
  #8  
Antiguo 04-11-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por lKinGl Ver Mensaje
sip ya instale MxExcelNative
Yo me refería a mxExports.

Te permite exportar a excel (aparte de otros formatos) de forma sencilla.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 04-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
ok ya lo instale

ahora como se usa?
__________________
Las cosas o son, o no son...
Responder Con Cita
  #10  
Antiguo 04-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
en el boton puse esto :

mxDBGridExport1.Execute;

y en el mxDBGridExport1 asigne en la propiedad dbgrid: dbgrid1

y en exporttypes puse solo excel ok pero abre excel y todo pero da un error será que es porque tengo office 2007?
__________________
Las cosas o son, o no son...
Responder Con Cita
  #11  
Antiguo 04-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
ahhh y tengo tambien windows vista .... será por eso?
__________________
Las cosas o son, o no son...
Responder Con Cita
  #12  
Antiguo 05-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
help me please
__________________
Las cosas o son, o no son...
Responder Con Cita
  #13  
Antiguo 05-11-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Tal vez deberías ponerte en contacto con Max y comentarle ambas cosas, Seguro . que el tendrás claro si hay incompatibilidades con esa versión de Office o con Vista
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #14  
Antiguo 05-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
ok las cosas van avanzando ... :P
Código Delphi [-]
procedure TForm14.Button1Click(Sender: TObject);
var
  Libro : _WORKBOOK;
  Hoja  : _WORKSHEET;
  i:Integer;
begin
i:=0;
Libro := ExcelApplication1.Workbooks.Add(Null, 0);
Hoja  := Libro.Sheets[1] as _WORKSHEET;
  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
end;

logré hacer este codigo creo que esta bien, pero debe faltar algo por que no abre excel.... salu2
__________________
Las cosas o son, o no son...
Responder Con Cita
  #15  
Antiguo 05-11-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
jojojojojo lo logré revisando bien bien el codigo de contraveneno me faltaba era esto

ExcelApplication1.Visible[1]:=true;

Gracias amigos....
__________________
Las cosas o son, o no son...
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
excel a delphi, como mostrar columnas de excel Vyckso Servers 2 13-08-2007 12:38:08
Pasar de TQuery a Excel? mrmanuel Varios 6 09-03-2007 13:32:41
TQuery nenufer Conexión con bases de datos 2 22-05-2006 16:41:03
Cómo exportar una tabla (TTABLE o TQUERY) completa a Excel vick Conexión con bases de datos 1 27-09-2005 09:41:35
Problema al actualizar Excel 2000 a Excel XP victork_py Servers 1 06-08-2004 19:20:41


La franja horaria es GMT +2. Ahora son las 15:05:43.


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