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 07-02-2004
Avatar de acertij022
acertij022 acertij022 is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina-Bs. As.
Posts: 233
Poder: 21
acertij022 Va por buen camino
Exclamation generación de planilla excel super rapido

Hola delphiano tengo dudas de como generar un documento desde 0 pero con una gran cantidad de renglones unos 50000.
He probado cuanto metodos que encuentro en Internet pero a la hora de generar el docuemento este es muy lento (lo provee con distintos S.O. y PC) y he llegado al siguiente metodo vastante rapido y comodo para trabajar sin importar el excel que tenga intalado :

procedure TFReportes.BtconfirmaClick(Sender: TObject);
var
Excel: _Application;
lcid: integer;
WBk: _Workbook;
WS: _WorkSheet;
Filename: OleVariant;
Text1:TextFile;
begin
AssignFile (Text1,ExtractFilePath(ParamStr(0))+'Temp.prn');
ReWrite(Text1);
WriteLn(Text1,'Usuario'+#9+'Walter');
closeFile(Text1);
lcid := LOCALE_USER_DEFAULT;
Excel := CoExcelApplication.Create;
Excel.Visible[lcid] := True;

Filename := ExtractFilePath(ParamStr(0))+'Temp.prn';
WBk := Excel.Workbooks.Open(Filename, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam,
EmptyParam, LCID);
Excel.Columns.ColumnWidth := 20;
Excel.Range['A1', 'A1'].Interior.Color := RGB(223, 123, 123);
Excel.Range['A1', 'B1'].Borders.LineStyle := xlContinuous;
WS := Excel.ActiveSheet as _Worksheet;
WS.Name:='Esto es una prueba';
end;
Como se ve genero un archivo separando los campos con tabulaciones, este metodo para ver los resultados en excel es super rapido,pero al final sigue siendo un archivo de texto para guardarlo como excel se debe ir en la aplicación excel a guardar como y elegir plantilla excel, aqui planteo mi duda alguien save como puedo hacer automatico esta parte (Guardar como...)si esto esto fuese posible seria todo automatico y es posible colocar que el excel no se vea al hacer este proceso.

Bueno espero que alguien me tire un cable

PD: Espero que lo que he logrado sea util para otros foristas
Responder Con Cita
  #2  
Antiguo 09-02-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Si guardas el CSV (el archivo separado por tabulaciones), con la extensión XLS.. el usuario ni cuenta se dará a la hora de abrirlo, que no es precisamente un XLS...
Por otro lado, te recomiendo probar los componentes de mi página, particularmente DataToXLS, que escribe un archivo propietario de Excel pero sin utilizar el Excel. (es verdaderamente mucho mas rápido)

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 09-02-2004
Avatar de acertij022
acertij022 acertij022 is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina-Bs. As.
Posts: 233
Poder: 21
acertij022 Va por buen camino
Si guardas el CSV (el archivo separado por tabulaciones), con la extensión XLS.. el usuario ni cuenta se dará a la hora de abrirlo, que no es precisamente un XLS...
esto es correcto pero no puedo guardar los cambios relizados en el excel (color de celda,etc)
Por otro lado, te recomiendo probar los componentes de mi página, particularmente DataToXLS, que escribe un archivo propietario de Excel pero sin utilizar el Excel. (es verdaderamente mucho mas rápido)
No lo utlizo no por ser malo sino porque no me gustar no tener las fuentes de los componentes agregado al entorno de desarrollo que utilizo (tuve malas experiencias )
Saludos!
Responder Con Cita
  #4  
Antiguo 09-02-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Ok, yo comparto lo de los códigos fuentes, pero no me queda otra que publicarlo así..

PD: Fíjate que debajo de los mensajes hay un botón "citar", si oprimes este botón agregarás una cita al texto de otro usuario y queda un poquito mas coqueto
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 13-02-2004
Avatar de acertij022
acertij022 acertij022 is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina-Bs. As.
Posts: 233
Poder: 21
acertij022 Va por buen camino
Ok gracias . Igualmete segui investigando un poco mas y cai en la pagina de openoffice http://www.wotsit.org/search.asp?page=2&s=database donde encontre la estructura del excel y si se fijan en la publicación de Daniel Rentz tienen todas las estructuras de los excel existentes con la posibilidad de graficar en el excel ,Claro que hay que estudiarlo y llevarlo a Delphi pero una ves hecho creo que sera una gran herramienta

Última edición por acertij022 fecha: 13-02-2004 a las 16:24:11.
Responder Con Cita
  #6  
Antiguo 13-02-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Bueno, yo no adiviné el formato para hacer este componente ... Obviamente conseguí la documentación del BIFF5 (el formato utilizado por el Excel 95) y a partir de ahí comenzé a trabajar.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
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


La franja horaria es GMT +2. Ahora son las 08:55:17.


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