Proyecto AjpdSoft
Principal
· Inicio
· Buscar
· Contactar
· Descargas
· Enciclopedia
· Estadísticas
· Foros
· Manuales, Artículos
· Nuestra historia
· Quiénes somos
· Recomiéndanos
· Temas
· Top 10
· Trucos Delphi, PHP, Java, Visual Studio
· Tu cuenta
Descargas

Últimas Descargas
· AjpdSoft Obtener datos EAN13 en Delphi 6

· AjpdSoft Gestión VMware ESXi y vCenter

· AjpdSoft XSD a XML

· AjpdSoft Números Aleatorios VB.NET

· AjpdSoft Gestión Seguidores Twitter C#

· AjpdSoft Información PC WMI en VB.Net

· AjpdSoft Acceso PostgreSQL con Lazarus x64

· Ejemplo acceso nativo a SQLite con ADO.Net en C# .Net

· AjpdSoft Acceso MySQL Android

· AjpdSoft Acceso SQLite C# ADO.NET

· AjpdSoft Acceso MySQL con ADO.NET en C#

· AjpdSoft Gestión Integral código fuente Delphi

· AjpdSoft Indexar Texto PDF C# iTextSharp

· AjpdSoft Capturar Pantalla C#

· AjpdSoft Gestión de Transportes Ficheros instalación manual


Lo más descargado
· AjpdSoft Registro de OCX y DLL Código Fuente Delphi

· AjpdSoft Generador de códigos de barras EAN8 y EAN13

· Borland Database Desktop 7.0

· AjpdSoft Conversor Hexadecimal, Decimal, Texto - Código Fuente Delphi

· AjpdSoft Aviso cambio IP pública

· AjpdSoft Administración Bases de Datos Código Fuente Delphi

· AjpdSoft Inventario PCs

· AjpdSoft Facturación Código Fuente Delphi

· AjpdSoft Generador y Lector códigos QR VB.Net

· AjpdSoft Conexión BD Visual Basic .Net

· AjpdSoft Agenda Telefónica Android

· Borland Database Engine BDE

· AjpdSoft Puerto Paralelo Código Fuente Delphi

· AjpdSoft Inventario PCs Código Fuente Delphi

· Cómo trabajar con tablas Paradox en red

Términos enciclopedias
Últimos
· VLAN
Enc.: Informática

· LUN
Enc.: Informática

· ERP
Enc.: Informática

· ADSL
Enc.: Informática

· VDSL
Enc.: Informática

· DATE_FORMAT(fecha, formato)
Enc.: Funciones MySQL

· SOAP
Enc.: Informática

· CSRF
Enc.: Informática

· SIG
Enc.: Informática

· Ruby
Enc.: Informática

· DATEDIFF (fecha1, fecha2)
Enc.: Funciones MySQL

· DaysBetween (fecha1, fecha2)
Enc.: Funciones Delphi

· Telnet
Enc.: Informática

· OSI
Enc.: Informática

· LTO
Enc.: Informática


Lo más visitado

· URL
Enc.: Informática

· Attrib
Enc.: Comandos Windows XP/Windows 2000/2003 (consola MS-DOS)

· At
Enc.: Comandos Windows XP/Windows 2000/2003 (consola MS-DOS)

· Arp
Enc.: Comandos Windows XP/Windows 2000/2003 (consola MS-DOS)

· net use unidad: \\nombrepc\recursocompartido
Enc.: Comandos Windows XP/Windows 2000/2003 (consola MS-DOS)

· Mozilla Firefox
Enc.: Programas/Software

· ODBC
Enc.: Informática

· bootcfg addsw
Enc.: Comandos Windows XP/Windows 2000/2003 (consola MS-DOS)

· MSKSrvr.exe
Enc.: Procesos en memoria

· Apache (Servidor HTTP)
Enc.: Informática

· ISO
Enc.: Informática

· xcopy
Enc.: Comandos Windows XP/Windows 2000/2003 (consola MS-DOS)

· Call
Enc.: Comandos Windows XP/Windows 2000/2003 (consola MS-DOS)

· Gpupdate
Enc.: Comandos Windows XP/Windows 2000/2003 (consola MS-DOS)

· netstat -n
Enc.: Comandos Windows XP/Windows 2000/2003 (consola MS-DOS)
Consejos
Lenguajes
Selecciona Idioma de la Interfaz:

Webs recomendadas
Orasite.com



Coloca tu web aquí
Language english
English
   



Exportar el contenido de un DBGrid - DataGrid a Excel - Delphi
Lenguaje de programación Borland Delphi

Os mostramos un ejemplo sobre cómo exportar un TDBGrid, un DataGrid, un Grid de Delphi (rejilla de datos) automáticamente a una hoja de cálculo Microsoft Excel.


Os indicamos el código fuente completo de la función que utilizaremos para tal cometido y un ejemplo de uso.

Para realizarlo hemos utilizado un componente que incluye el propio Delphi, llamado "TExcelApplication". En el USES del formulario o unidad donde coloquemos la función necesitaremos una referencia a las siguientes unidades: Excel2000, db, DBGrids, variants

unit UnidadProcedimientos;

interface

uses Classes, registry, windows, IdGlobal, SysUtils, inifiles,
    forms, OleServer, Excel2000, db, DBGrids, variants;

var

...




procedure exportarGridExcel (mGrid : tdbgrid);
var
  rangoExcel : Excel2000.range;
  i, fila : integer;
  mMarcador : Tbookmarkstr;
  mTabla : tdataset;
  aplicacionExcel : TExcelApplication;
begin
  //creamos libro excel (abriendo Excel)
  aplicacionExcel := TExcelApplication.Create(nil);
  //asociamos el dataset (tabla) del DBGrid con la tabla
  //que utilizaremos en esta función
  mTabla := mGrid.datasource.dataset;
  //mostramos Excel
  aplicacionExcel.Visible[0] := true;
  //creamos un nuevo libro de Excel
  aplicacionExcel.workbooks.add(NULL, 0);

  //primera fila con los nombres de las columnas
  //para ello recorremos todos las columnas de la tabla
  //y mostramos en Excel el valor de "DisplayLabel"
  rangoExcel := aplicacionExcel.ActiveCell;
  for i:= 0 to mTabla.Fields.Count - 1 do
  begin
    rangoExcel.Value := mTabla.Fields[i].DisplayLabel;
    rangoExcel := rangoExcel.Next;
  end;
  //aplicamos un autoformato de Excel a las filas y columnas añadidas
  rangoExcel.AutoFormat(10, NULL, NULL, NULL, NULL, NULL, NULL);
  mTabla.DisableControls;
  try
    mMarcador := mTabla.Bookmark;
    try
      //recorremos todos los registros de la tabla para ir añadiéndolos
      //a la hoja actual de Excel
      mTabla.First;
      fila := 2;
      while not mTabla.Eof do
      begin
        rangoExcel := aplicacionExcel.Range['A' + inttostr(fila), 'A' + inttostr(fila)];
        //recorremos todos las columnas del registro actual
        for i := 0 to mTabla.Fields.Count - 1 do
        begin
          rangoExcel.Value := mTabla.Fields[i].AsString;
          rangoExcel := rangoExcel.Next;
        end;
        mTabla.Next;
        Inc(fila);
      end;
      finally
        mTabla.Bookmark := mMarcador;
      end;
    finally
      mTabla.EnableControls;
    end;
    //se podría formatear para dejar con mejor aspecto
    //rangoExcel:=aplicacionExcel.Range['A1','E'+inttostr(row-1)];
   //rangoExcel.AutoFormat(3,NULL,NULL,NULL,NULL,NULL,NULL);
 end;




Un ejemplo de uso, podría ser en el formulario donde se encuentre el dbgrid, en el evento OnClick de un botón que pongamos a tal efecto. Supondremos que el botón (TButton) se llama "btExportarGridExcel":
procedure TformMenuPrincipal.btExportarGridExcelClick (Sender: TObject);
begin
  exportarGridExcel (grid);
end;









Publicado el: 2004-08-30

               
Este sitio web NO CONTIENE malware, todos los programas con código fuente aquí. Autor: Alonso Javier Pérez Díaz Google+ Síguenos en Google+