Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-04-2016
mramos65 mramos65 is offline
Miembro
 
Registrado: jun 2006
Ubicación: Mèxico
Posts: 26
Poder: 0
mramos65 Va por buen camino
Thumbs up Nombre de DBGrid (Activo) para exportar datos a Excell

Realice una funcion con los parametros TDbgrid y Tquery
Declarando en
Type
procedure ExpExcell(grid: tdbgrid; base: tquery);
Luego en
Implementation

Código Delphi [-]
procedure TForm1.ExpExcell(grid: tdbgrid; base: tquery); //Donde  Grid sera el nombre del Dbgrid seleccionado y base El query origen de los datos
 var
  excel:Variant;
  fila, columna:Integer;
begin
  with base, base.SQL do
    begin
      Close;
      Open;
      if IsEmpty then
        begin
          MessageDlg('No existen datos que reportar!', mtWarning,[mbOk], 0);
          Exit;
        end;
      TRY
        excel := CreateOleObject('Excel.Application');
      EXCEPT
        ShowMessage('Excel no se pudo iniciar.');
        exit;
      END;
      excel.Visible := true;
      First;
      fila          := 1;
      excel.Workbooks.Add;
      //Poner los títulos
      for columna := 0 to Grid.Columns.Count-1 do
        excel.Cells[fila,columna + 1].Value := Grid.Columns[columna].Title.Caption;
      fila:=2;
      //Desengachar controles para agilizar
      DisableControls;
      TRY
        while not(eof) do
          begin
            for columna := 0 to Grid.Columns.Count-1 do
              excel.Cells[fila,columna + 1].Value := FieldByName(Grid.Columns[columna].FieldName).asString;
            Next;
            inc(fila);
          end;
        //Ajustar columnas
        for columna:=1 to Grid.Columns.Count-1 do
        begin
        Excel.Columns[Columna].EntireColumn.AutoFit;
        end;

      EXCEPT
        ShowMessage('Atención, se produjo un error en la transmisión.');
      END;
      EnableControls;
    end;
end;
Debo mencionar que este procedimiento es autoria de otro usuario, solo modifique los parametros para realizar un procedimiento adaptable a mi necesidad.
y por ultimo llamando el procedimiento asi:
Código Delphi [-]
procedure Tform1.ExportaraExcell1Click(Sender: TObject);
begin
ExpExcell(DbGrid,TQuery);
end;
Esperando sea de utilidad para otros usuarios, GRACIAS
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Saber si un proceso esta activo Anel Hernandez Varios 3 17-01-2012 19:17:16
Como saber si mi servidor de MySQL esta activo o corriendo. rgstuamigo MySQL 5 19-11-2008 22:54:01
Puedo saber el escritorio activo?? aeff API de Windows 0 19-03-2007 19:40:27
Saber usuario activo lucasarts_18 MS SQL Server 2 29-09-2005 16:19:29
Pregunta básica. Como saber si un valor está activo o no. gluglu Varios 3 16-09-2004 18:34:53


La franja horaria es GMT +2. Ahora son las 15:21:31.


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