Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Exportar a Excel (https://www.clubdelphi.com/foros/showthread.php?t=84302)

elrayo76 03-10-2013 03:27:01

Exportar a Excel
 
Alguno conoce algun componente o clases que me permitan exportar a Excel sin tener el Office instalado? Si son gratis mucho mejor.

Saludos,
El Rayo

blackx5n 03-10-2013 04:11:31

Hola

Puedes probar el componente TscExcelExport, creo que lo puedes usar si es para uso personal, pero si lo que quieres es para uso comercial tienes que comprar una licencia.
En la pagina del fabricante tiene ejemplos de como usar dicho componente.

Busca aqui en los foros creo haber visto codigo para exportar datos a excel.

Salu2

elrayo76 03-10-2013 06:12:09

Hola,

He buscado en estos foros y todo lo que sale hace referencia a los componentes que tiene el propio Delphi. Estos componentes requieren que este instalado el Office para funcionar.

Lo que me interesa es exportar sin tener Office. El problema es que alguno de mis clientes por tener una empresa chica y no gastar dinero usan programas gratis para trabajar con documentos del tipo Excel y no instalan Office. Yo no puedo oblogar a que instalen otro paquete solamente para que funcione mi aplicativo, entonces soy yo el que se tiene que adaptar a lo que ellos usan.

Saludos,
El Rayo

Casimiro Notevi 03-10-2013 09:41:37

Sigue buscando, es un tema que se ha tratado varias veces en estos foros y tiene solución.

Neftali [Germán.Estévez] 03-10-2013 10:52:54

Hay una opción sencilla que es Exportar a CSV. Es formato texto y se abre desde Excel sin problemas. Es más, si está excel instalado, te lo abrirá por defecto.
Si buscas en el foro por "Exportar CSV", seguro que encuentras hilos con ejemplo.
Incluso diría que en el FTP hay alguno.

Combat-F2D 03-10-2013 12:22:54

con lo sencillo que es exportar a CSV y de ahi a todo el mundo.......
hay que ver a veces cuanto nos complicamos la vida.... lo digo en general, me incluyo

nlsgarcia 03-10-2013 19:47:42

elrayo76,

Cita:

Empezado por Neftali
...Hay una opción sencilla que es Exportar a CSV...

Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IBQuery, DB, IBCustomDataSet, IBTable, StdCtrls, IBDatabase;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    DB: TIBDatabase;
    Transaction: TIBTransaction;
    Table: TIBTable;
    Query: TIBQuery;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// DataSet a CSV
procedure WriteDataSetToCSV(DataSet: TDataSet; FileName: String);
var
   List: TStringList;
   S: String;
   i: Integer;

begin

   List := TStringList.Create;

   try

      DataSet.First;

      while not DataSet.Eof do
      begin

         S := '';

         for i := 0 to DataSet.FieldCount - 1 do
         begin
            if S > '' then
               S := S + ',';
            S := S + '"' + DataSet.Fields[i].AsString + '"';
         end;

         List.Add(S);

         DataSet.Next;

      end;

   finally

      List.SaveToFile(FileName);
      List.Free;

   end;

end;

// Inicializa DB
procedure TForm1.FormCreate(Sender: TObject);
begin
   DB.Params.Clear;
   DB.Params.Add('User_Name=SYSDBA');
   DB.Params.Add('Password=masterkey');
   DB.Connected := True;
end;

// Table a CSV
procedure TForm1.Button1Click(Sender: TObject);
begin
   Table.Open;
   WriteDataSetToCSV(Table, 'Table.csv');
   Table.Close;
   ShowMessage('Archivo CSV Generado');
end;

// Query a CSV
procedure TForm1.Button2Click(Sender: TObject);
begin
   with Query do
   begin
      SQL.Clear;
      SQL.Text := 'Select * from EMPLOYEE';
      Open;
      WriteDataSetToCSV(Query, 'Query.csv');
      Close;
      ShowMessage('Archivo CSV Generado');
   end;
end;

end.
El código anterior exporta un TDataSet (Table y Query en Firebird) a un archivo CSV.

Espero sea útil :)

Nelson.

elrayo76 04-10-2013 15:22:09

Sigo sin poder exportar a Excel. El problema es que todos los ejemplos y enlaces que me dan en los comentarios hacen referencia a tener instalado el excel.

Núnca se le planteo a nadie la necesidad de exportar a Excel y que el cliente no tenga el programa instalado?. Si algún sector de la empresa no necesita usar Excel que pasa no pueden exportar?

Si exporto como CSV es una opción, pero es muy simple. Mi intención es poder hacer algunas cosas mas que solo exportar. Me interesa a demas de sacar el archivo poder formatear los títulos de las columnas entre otras cosas.

Saludos,
El Rayo

Casimiro Notevi 04-10-2013 16:01:32

Cita:

Empezado por elrayo76 (Mensaje 467841)
Núnca se le planteo a nadie la necesidad de exportar a Excel y que el cliente no tenga el programa instalado?. Si algún sector de la empresa no necesita usar Excel que pasa no pueden exportar?

Pues eso:
Cita:

Empezado por Casimiro Notevi (Mensaje 467758)
Sigue buscando, es un tema que se ha tratado varias veces en estos foros y tiene solución.

Cita:

Empezado por elrayo76 (Mensaje 467841)
Si exporto como CSV es una opción, pero es muy simple. Mi intención es poder hacer algunas cosas mas que solo exportar. Me interesa a demas de sacar el archivo poder formatear los títulos de las columnas entre otras cosas.

Pues igual, incluso más fácil.

Neftali [Germán.Estévez] 04-10-2013 16:42:50

Prueba los componentes de exportación de Max (MaxExport). Están en el FTP.

nlsgarcia 04-10-2013 17:13:03

elrayo76

Cita:

Empezado por elrayo76
...¿Núnca se le planteo a nadie la necesidad de exportar a Excel y que el cliente no tenga el programa instalado?...

Revisa este link:
Cita:

Export to XLS without Excel from Delphi : http://blog.runbits.com/post/Native-...el-Delphi.aspx

Generate Excel files without using Microsoft Excel : http://www.codeproject.com/Articles/...=Relaxed&fr=41

OExport - XLSX/XLS/ODS/CSV native Delphi/Lazarus import/export library : http://www.kluug.net/xlsx-ods-delphi.php
Espero sea útil :)

Nelson.

elrayo76 11-10-2013 22:22:36

Gracias,

Estuve viendo algo y voy a probar alguno. Pero por lo pronto solo he visto que el último enlace no es gratis.

Para el que le interese en uno de los enlaces hasta esta la referencia a un documetno PDF de 250 páginas escrito por la gente de OpenOffice que describe como es el formato de los archivos de Excel. Con esto hasta alguno se puede animar a iniciar sus propias clases.

Si alguno se anima no tengo problemas en aportar lo que pueda para ayudar al desarrollo.

Saludos

Casimiro Notevi 11-10-2013 22:37:54

http://www.clubdelphi.com/foros/showthread.php?t=66688
http://www.clubdelphi.com/foros/showthread.php?t=84302
http://www.clubdelphi.com/foros/showthread.php?t=67021
http://www.clubdelphi.com/foros/showthread.php?t=67744
http://www.clubdelphi.com/foros/showthread.php?t=32736

nlsgarcia 12-10-2013 00:24:38

elrayo76,

Cita:

Empezado por elrayo76
...Estuve viendo algo y voy a probar alguno...

Revisa estos links:
Cita:

Empezado por elrayo76
Creating excel file without OLE : http://cc.embarcadero.com/item/13462

TDataSet => Excel (No OLE or EXCEL required) : http://delphi-kb.blogspot.com/2010/0...-required.html

Espero sea útil :)

Nelson.

Al González 28-11-2013 01:21:47

Hola, perdón que me entremeta.

Vi que has venido por aquí estos días, elrayo76 (lo cual da gusto), pero no habiendo obtenido respuesta al mensaje privado que te envié hace ya tiempo (seguramente no llegó la notificación), me permito, esperando no resultar molesto, relacionar algo de lo que comentabas mensajes arriba:
Cita:

Empezado por elrayo76 (Mensaje 468210)
Para el que le interese en uno de los enlaces hasta esta la referencia a un documetno PDF de 250 páginas escrito por la gente de OpenOffice que describe como es el formato de los archivos de Excel. Con esto hasta alguno se puede animar a iniciar sus propias clases.

Si alguno se anima no tengo problemas en aportar lo que pueda para ayudar al desarrollo.

con algo que va precisamente en esa línea: http://www.clubdelphi.com/foros/showthread.php?t=84399 (las clases Delphi para Excel).

Ojalá no mal interpretes mi intervención, no pretendo forzar ayuda económica alguna. Aunque ésta urge desde hace mucho tiempo, como sea me las he ido arreglando para costearme lo más elemental, y sé que en Argentina tampoco se vive holgadamente. Sólo quiero reiterar mi entera disposición a recibir de tu parte eso que mencionaste que puedes aportar, cualquiera que sea la especie.

Podrás ver que ya tengo un pequeño avance respecto al tratamiento de documentos Excel sin necesidad de Excel. Y llevo estudiado algo sobre el estándar OpenXML que mencionas líneas arriba (el completo tiene mucho más de 250 páginas).

Espero aquel ofrecimiento no haya quedado en mera buena intención.

Respetuosamente,

Al González. :)

P.D. Una disculpa a quienes este mensaje le resulte insustancial y una auténtica pérdida de tiempo (por eso es que le había escrito al compañero de forma privada). :o

ashleyco 05-12-2013 07:36:28

Sigo sin poder exportar a Excel.


La franja horaria es GMT +2. Ahora son las 08:09:20.

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