Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-07-2003
DanielAlexander DanielAlexander is offline
Miembro
 
Registrado: may 2003
Ubicación: argentina
Posts: 40
Poder: 0
DanielAlexander Va por buen camino
Unhappy Exportación de Qreports a excel

Hola Gente!!!!
necesito ayuda por favor.
Tengo escrito el siguiente codigo, tengo echo un corte de control
por codigo de farmacia para cuando cambie de codigo, me
genere una nueva hoja, con los datos de ese codigo de farmacia
lo que no se como hacer es como agregar una hoja a excel.
Gracias....



try
excel:=CreateOleObject('Excel.Application');
except
ShowMessage('Excel no se pudo iniciar.');
exit;
end;
excel.Visible:=true;
Data:=DBGRID1.DataSource.DataSet;
Data.First;
WorkBook:=Excel.WorkBooks.Add;


hoja:=1;
while not(Data.eof) do
begin
Sheet:=WorkBook.WorkSheets[hoja];
Sheet.Name:=inttostr(Data.FieldByName(DBGrid1.Columns[0].FieldName).asinteger);
Row:=1;
Sheet.Cells[Row,1]:='COD-FAR';
Sheet.Cells[Row,2]:='FARMACIA';
Sheet.Cells[Row,3]:='REMITO';
Sheet.Cells[Row,4]:='RECETA';
Sheet.Cells[Row,5]:='SECUENCIA';
Sheet.Cells[Row,6]:='PRODUCTO';
Sheet.Cells[Row,7]:='IMPORTEOSACEPTADO';
Sheet.Cells[Row,8]:='PERIODO';
Sheet.Cells[Row,9]:='LOCALIDAD';
Sheet.Cells[Row,10]:='IDRECETA';
Sheet.Cells[Row,11]:='NUMERODELINEA';
Sheet.Rows[Row].Font.Bold:=true;
Sheet.Cells[Row,1].font.color:=clred;
Sheet.Cells[Row,2].font.color:=clred;
Sheet.Cells[Row,3].font.color:=clred;
Sheet.Cells[Row,4].font.color:=clred;
Sheet.Cells[Row,5].font.color:=clred;
Sheet.Cells[Row,6].font.color:=clred;
Sheet.Cells[Row,7].font.color:=clred;
Sheet.Cells[Row,8].font.color:=clred;
Sheet.Cells[Row,9].font.color:=clred;
Sheet.Cells[Row,10].font.color:=clred;
Sheet.Cells[Row,11].font.color:=clred;

codfar:=Data.FieldByName(DBGrid1.Columns[0].FieldName).asinteger;
fila:=2;
columna:=1;

while (not(Data.eof)) and (codfar = Data.FieldByName(DBGrid1.Columns[0].FieldName).asinteger) 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;
hoja:=hoja + 1;
fila:=2;
columna:=1;
end;

//excel.Cells[fila,1].Value:='=SUM(a1:a3)'
Sheet.Cells.Columns.AutoFit;
Responder Con Cita
  #2  
Antiguo 23-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
en mi web tienes una ejemplo de pasar un Dataset a Excel con los servers. El ejemplo lo tienes en el apartado del RxDbGrid

Espero te sirva
Responder Con Cita
  #3  
Antiguo 23-07-2003
DanielAlexander DanielAlexander is offline
Miembro
 
Registrado: may 2003
Ubicación: argentina
Posts: 40
Poder: 0
DanielAlexander Va por buen camino
Post

El ejemplo esta barbaro pero lo que no encuentro es como moverme de hoja en el libro de excel, si tenes alguna idea de como hacerlo eternamente agradecido
Responder Con Cita
  #4  
Antiguo 23-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Bueno, por defecto, un libro de Excel se crea con 3 hojas. Por lo que al crearlo, suponemos eso y, con la sentencia siguiente, accedemos a la hoja deseada del libro (solo hay que cambiar el numero en Sheets[x])

ExcelWorkSheet1.ConnectTo( ExcelApplication1.Sheets[1] as _WorkSheet);

Si necesitas mas hojas, o bien defines dentro de Excel que al crear un libro este tenga mas hojas por defecto (una chapuza :P) o te miras como funciona bien el metodo Add de Sheets (como no hay ayuda ni los .pas, no me lo he podido mirar demasiado, pero seguramente en Google encontraras algunas respuestas

ExcelApplication1.Sheets.Add();

Espero te sirva
Responder Con Cita
  #5  
Antiguo 24-07-2003
DanielAlexander DanielAlexander is offline
Miembro
 
Registrado: may 2003
Ubicación: argentina
Posts: 40
Poder: 0
DanielAlexander Va por buen camino
Post

Hola cadetti!!!!!
Muchas gracias por la ayuda, pero todavia no logro hacer que funcione.
Los ejemplos que me pasaste son con los componentes de excel de Delphi y yo no estoy utilizando ningun componente por eso algunas sintaxis no me funcionan, por ejemplo para agregar una hoja al libro escribo:

Excel.Sheets.Add();

y lo hace bien lo que no logro hacer funcionar es hacer que se active esa hoja


la primera ves que agrega lo hace por defecto pero a partir de la segunda me agrega la hoja pero sigue quedando activa la primera hoja que me agrego..

Si tenes alguna idea de como hacerlo, te agradezco mujmcho.

Gracias....
Responder Con Cita
  #6  
Antiguo 24-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
a ver, que no termino de entender.

te refieres a que se active visualmente o que introduzca datos en ella?

Si es la primera,... lo siento, pero ni idea
Si es la segunda, te remito a mi mensaje anterior donde decia

ExcelWorkSheet1.ConnectTo( ExcelApplication1.Sheets[x] as _WorkSheet);


y donde "x" es la pagina donde quieres que escriba datos
Responder Con Cita
  #7  
Antiguo 25-07-2003
DanielAlexander DanielAlexander is offline
Miembro
 
Registrado: may 2003
Ubicación: argentina
Posts: 40
Poder: 0
DanielAlexander Va por buen camino
Talking

No lo que te quiero decir es que no estoy utilizando los componentes ExcelWorkShet, ExcelWorkbook que estan en la paleta servers de Delphi, el ejemplo que me pasaste no me funciona porque se esta refiriendo a esos componentes
yo estoy utilizando la forma mas antigua directamente escribiendo
el codigo que te genera excel, igualmente voy a utilizar los componentes con los ejemplos que me pasaste porque no le encuentro la vuelta para que me escriba en la hoja que yo le diga
con el ejemplo que me baje de tu pagina y esto tiene que funcionar.


Muchas gracias ,.......
Responder Con Cita
  #8  
Antiguo 25-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Pues nada, siento no haberte entendido de primeras

Directamente no te sabria decir, lo poco que he hecho con Excel ha sido con los Servers. No es que me termine de gustar su comportamiento pero....

Suerte compañero
Responder Con Cita
  #9  
Antiguo 25-07-2003
DanielAlexander DanielAlexander is offline
Miembro
 
Registrado: may 2003
Ubicación: argentina
Posts: 40
Poder: 0
DanielAlexander Va por buen camino
Talking

Hola compañero..Te cuento que con los componentes funciono perfecto, el unico problemita que me muestra solamente la cabecera del excel cuando me genera el archivo, lo pujedo ver solamente si primero abro el excel y luego el archivo, supongo que debe ser la forma en que lo estamos abriendo o generando, tenes alguna idea de que peude estar pasando.

Salu2.....
Responder Con Cita
  #10  
Antiguo 25-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
jejejejeje, creo que nuestra comunicacion necesita un arreglo, porque vuelvo a no entender muy bien lo que te pasa

A ver si me lo puedes explicar algo mejor

PD: al igual es que estoy algo tocho ultimamente
Responder Con Cita
  #11  
Antiguo 26-07-2003
DanielAlexander DanielAlexander is offline
Miembro
 
Registrado: may 2003
Ubicación: argentina
Posts: 40
Poder: 0
DanielAlexander Va por buen camino
Post

Lo que me esta pasando es muy loco, lo que esta pasando es cuando presiono el boton de exportar a excel lo primero que hace es generarme el excel , crearme el libro, etc, y luego me llena los datos en las hojas correspondientes.... el tema es que cuando genera el excel, o mejor dicho cuando esta cargando los datos en las respectivas hojas yo lo deberia ver porque teoricamente primero me abrio el excel, el tema que me lo habre veo la barra de herramientas de excel pero no me muestra el libro. lo termina de procesar pero no veo si lo hizo bien o no, entonces tengo que abrir el excel por otro lado y abrir el archivo para verlo completo.
si quiero abrir directamente el archivo me muestra la barra de herramientas solamente y abajo veo el fondo de windows..



Espero que me hallas entendido y disculpame las molestias...
Responder Con Cita
  #12  
Antiguo 26-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
bueno, creo que ahora si que te he entendido

Lo que pasa es que yo lo he probado y, veo sin problemas toda la generacion de la/las hojas del libro, me lo deja abierto viendo todos sus datos

Bufff, la verdad no se que te puede estar pasando. Lo unico que se me ocurre... o que te falta algun update de Delphi o la version del Office que sea diferente de la mia (yo tengo el XP)
Responder Con Cita
  #13  
Antiguo 28-07-2003
DanielAlexander DanielAlexander is offline
Miembro
 
Registrado: may 2003
Ubicación: argentina
Posts: 40
Poder: 0
DanielAlexander Va por buen camino
Talking

Yo tengo el 2000 , igualmente muchas gracias por tu ayuda...
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 22:45:25.


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