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 26-05-2003
Anabel Anabel is offline
Miembro
 
Registrado: may 2003
Ubicación: D.F. México
Posts: 63
Poder: 21
Anabel Va por buen camino
Ayuda sobre Palette "Servers"

Hola

En mi aplicación se crearon unos reportes con el QReport , los cuales me han pedido que se envíen ahora Word o excel, lo que yo prefiera, el problema es que conozco muy poco (por no decir nada) de los componentes de la Pallete Servers, alguien por ahí tendrá una manual o lagún programa que me sirva de guía, muchas gracias.

O existe alguna forma de salvarlos como archivos *.xls o *.doc.

Gracias
__________________
Ana
Responder Con Cita
  #2  
Antiguo 26-05-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Sino tienes la versión profesional de QuickReport no puedes exportar a Excel ni a Word.

Me refiero a la versión de pago de QuickReport, no es la que viene con Delphi.

Por lo tanto mira la opción de exportar de una rejilla a Excel o a Word.

Un Saludo.
Responder Con Cita
  #3  
Antiguo 26-05-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Se me olvido poner un ejemplo:

incluye Comobj en el Uses de tu formulario.


procedure TForm1.Button1Click(Sender: TObject);
var
excel:Variant;
fila,columna:Integer;
Data : TDataSet;
begin
try
excel:=CreateOleObject('Excel.Application');
except
ShowMessage('Excel no se pudo iniciar.');
exit;
end;
excel.Visible:=true;

Data:=DBGRID1.DataSource.DataSet;
Data.First;
fila:=1;
columna:=1;
excel.Workbooks.Add;

while not(Data.eof) do
begin

for columna := 0 to dbgrid1.Columns.Count-1
do
begin

excel.Cells[fila,columna + 1].Value:=Data.FieldByName(DBGrid1.Columns[columna].FieldName).asString;
end;

Data.Next;
fila:= fila + 1;
end;


excel.Cells[fila,1].Value:='=SUM(a1:a3)'


end;

Un Saludo.
Responder Con Cita
  #4  
Antiguo 27-05-2003
Anabel Anabel is offline
Miembro
 
Registrado: may 2003
Ubicación: D.F. México
Posts: 63
Poder: 21
Anabel Va por buen camino
Smile

Gracias

Ya empece a enviar así mi reporte a Excel, pero ahora tengo algunas dudas de formato, me pregunto si podrías darme unos tips.

Cómo pinto los bordes de las celdas??
Cómo puedo dar nombre a la pestaña de la página??
Cómo puedo justificar el texto de la celda o bien darle formato??

Gracias
__________________
Ana
Responder Con Cita
  #5  
Antiguo 03-06-2003
JorgeF JorgeF is offline
Registrado
 
Registrado: may 2003
Ubicación: Provincia del Chubut - Argentina
Posts: 2
Poder: 0
JorgeF Va por buen camino
Recomiendo ver en sección "Ejemplos" el programa " Dbf2Excel".
Responder Con Cita
  #6  
Antiguo 04-06-2003
Anabel Anabel is offline
Miembro
 
Registrado: may 2003
Ubicación: D.F. México
Posts: 63
Poder: 21
Anabel Va por buen camino
Hola

No encuentro el ejemplo

Saludos
__________________
Ana
Responder Con Cita
  #7  
Antiguo 04-06-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Aquí tienes una parte de un ejemplo que tengo por aquí a mano:

Código:
procedure TfmMain.btExample2Click(Sender: TObject);
var
 WorkBook,Sheet,Cell: Variant;
 Col,iRow,Row : Integer;
 cl:integer;
 s:string;
begin
 WorkBook:=Excel.WorkBooks.Add;
 Sheet:=WorkBook.WorkSheets[1];
 Sheet.Name:='Colors';
 Row:=1;
 Sheet.Cells[Row,1]:='Red';
 Sheet.Cells[Row,2]:='Green';
 Sheet.Cells[Row,3]:='Blue';
 Sheet.Cells[Row,4]:='Color Sum';
 Sheet.Rows[Row].Font.Bold:=true;
 for iRow:=0 to 8 do begin
  Row:=iRow+2;
  if iRow<8 then cl:=iRow*32 else cl:=$FF;
  for Col:=1 to 3 do begin
   Cell:=Sheet.Cells[Row,Col];
   Cell.Value:=cl;
   if Col=1 then Cell.Font.Color:=cl//red
   else if Col=2 then Cell.Font.Color:=cl*256//green
   else Cell.Font.Color:=cl*256*256;//blue
  end;
  Cell:=Sheet.Cells[Row,4];
  s:=format('=A%d+256*B%d+256*256*C%d',[Row,Row,Row]);
  Cell.Formula:=s;
  Cell.Font.Color:=Cell.Value;
 end;
 Sheet.Cells.Columns.AutoFit;
end;
Un Saludo.
Responder Con Cita
  #8  
Antiguo 05-06-2003
Anabel Anabel is offline
Miembro
 
Registrado: may 2003
Ubicación: D.F. México
Posts: 63
Poder: 21
Anabel Va por buen camino
Muchas Gracias

Voy a poner en practica dos o tres tips que vi en el código

Míl gracias

Saludos!!!
__________________
Ana
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


La franja horaria es GMT +2. Ahora son las 00:34:23.


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