Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Personalizar exportacion a excel (https://www.clubdelphi.com/foros/showthread.php?t=30543)

ilichhernandez 09-04-2006 23:16:07

Personalizar exportacion a excel
 
Hola amigos, tengo una grid y los datos que se ven necesito exportarlos a excel, pues bien, he ocupado el componente DataToXls que baje desde Delphi.com.ar y el reporte en realidad es bien facil

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
DataToXls1.Title.Text := 'Prueba de Exportacion para excel';
DataToXls1.SaveToFile('c:\prueba.xls');
end;


De esta manera exporto todos los datos y todo bien hasta ahi, el problema es que necesito insertar al comienzo de la hoja de excel un par de filas para ingresar "de alguna manera" informacion de 2 o 3 variables que necesito se muestren junto a los datos, si alguien supiera como se hace o donde conseguir info lo agradeceria, busque en el foro, en la doc que trae el componente y la verdad es que no hay mucha info......
Primera vez que exporto a excel desde delphi y la verdad estoy un poco confundido......

Gracias de antemanos para todos aquellos que se tomen un tiempo ....
Atentamente
Roberto Hernandez.

delphi.com.ar 10-04-2006 19:37:36

Como te comenté en el mensaje personal, por concepción estos componentes son sencillos y no tienen un juego grande de propiedades. Podes bajarte el código abierto del componente desde: http://www.torry.net/db/access/db_bd...expsuitsrc.zip y adaptarlo a tus necesidades. El código es sencillo, no hay ciencia alguna, y esta separada la clase que escribe el archivo de la que recorre los datos e inserta. Por lo que no creo que sea demasiado complejo para ti adaptarlo. Cualquier sugerencia o mejora será bienvenida!

Saludos!

ilichhernandez 10-04-2006 23:30:07

Gracias , voy a revisar el fuente a ver si puedo modificar algunas cosillas, en caso de hacer modificaciones te lo comunicare....


Gracias.
Roberto Hernandez.

xio 24-03-2008 13:04:21

Podriais echarme una mano?
 
Me he descargado el componente para exportar datos desde delphi. Lo he instalado, pero no se como hacerlo funcionar, podriais darme una pequeña indicacion de como hacerlo?

Mi aplicacion genera unos listados y lo que necesito es esa informacion poder exportarla, pero con formato, no se si con este componente se podria.

Soy bastante nueva en esto, espero que podais ayudarme.

Un saludo y gracias.

PD: Antes de postear por aqui he dado bastantes pasadas por el foro para ver que hay sobre este tema. Y no he encontrado nada que se acomode a lo que busco.

delphi.com.ar 27-03-2008 14:38:34

Bueno, es bastante sencillo, primero te recomiendo ver el ejemplo "ExportGrid" incluído con los componentes, lo único que tienes que hacer es enlazar la propiedad "DataSet" del componente a utilizar con el DataSet que contenga tus datos, luego si quieres que el archivo exportado conserve el formato de las columnas de un DBGrid, puedes asignarle las columnas de este DBGrid a la propiedad Fields, o Columns, según corresponda (en el ejemplo hace un llamado a la función GetFields, que es una función abstracta implementada en forma polimórfica por cada descendiente), y luego simplemente indicas donde quieres generar el archivo con la función: SaveToFile.

Ejemplo:
Código Delphi [-]
  TfrmMain = class(TForm)
    tblContacts: TTable;
    dsContacts: TDataSource;
    dbgContacts: TDBGrid;
    procedure btnExportClick(Sender: TObject);
  private
  public
  end;
  
var
  frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.btnExportClick(Sender: TObject);
var
  ADataToXLS: TDataToXLS
begin
  tblContacts.Open ;
  ADataToXLS := TDataToXLS.Create(Self);
  try
    ADataToXLS.DataSet := tblContacts;
    ADataToXLS.GetFields.Assign( dbgContacts.Columns )
    ADataToXLS.SaveToFile('c:\Ejemplo.xls');
  finally
    ADataToXLS.Free;
  end;
end;

Saludos!

xio 27-03-2008 16:49:17

Gracias por la respuesta, pero a lo que me referia de formato es de tamaño de letra, fuente, negrita, ....

No se si se podrá por eso pregunté.

delphi.com.ar 27-03-2008 19:27:44

Cita:

Empezado por xio (Mensaje 275640)
Gracias por la respuesta, pero a lo que me referia de formato es de tamaño de letra, fuente, negrita, ....

En ese caso es muy sencillo, puedes utilizar las propiedades Detail, Header, Title para definir en forma genérica los valores de las fuentes de cada "banda", luego puedes utilizar el evento OnGetDetailParams para cambiar los atributos de celdas particulares.

Saludos!

xio 28-03-2008 09:40:09

Oki lo probaré, por que ahora mismo estoy con otro proyecto, cuando lo haga si tengo alguna duda te comentaré. Un saludo.

metroyd 23-04-2008 21:10:02

una pregunta. Si yo utilizo este componente y funciona perfecto en mi maquina, que pasa cuando mi aplicacion la instale en otra computadora???? O la corra en otra computadora?? Me seguira funcionando igual? o debo instalar tambien el componente en la otra maquina???

xio 24-04-2008 09:42:28

Lo que tendras que tener en la otra maquina será el excel instalado para poder leer el fichero que genere tu aplicacion.

Yo aun no he podido realizar el proyecto por que me han encargado otras cosa y no he tenido oportunidad aun.

Un saludo!

delphi.com.ar 24-04-2008 22:35:24

Cita:

Empezado por metroyd (Mensaje 282073)
una pregunta. Si yo utilizo este componente y funciona perfecto en mi maquina, que pasa cuando mi aplicacion la instale en otra computadora???? O la corra en otra computadora?? Me seguira funcionando igual? o debo instalar tambien el componente en la otra maquina???

No hace falta tener instalado nada en la computadora que corras el programa para generar un archivo de excel, esa es una de las cualidades del componente. Pero si lo necesitaras, como dijo xio si quieres ver el archivo generado.

Saludos!

antonmor 07-05-2008 00:21:54

intenta esto , esta en formato csv pero ya que abras el archivo lo puedes guardar con extencion xls

from *
INTO OUTFILE 'c:\\c1.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM tabla nt

ingabraham 08-06-2011 20:52:59

Cita:

Empezado por delphi.com.ar (Mensaje 275711)
En ese caso es muy sencillo, puedes utilizar las propiedades Detail, Header, Title para definir en forma genérica los valores de las fuentes de cada "banda", luego puedes utilizar el evento OnGetDetailParams para cambiar los atributos de celdas particulares.

Saludos!


me podrias dar un ejemplo de como ponerle formato numerico con separadores de mil a determinada columna "valor_total"


La franja horaria es GMT +2. Ahora son las 09:51: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