Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-06-2011
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
Exportar a excel con formato numerico div x puntos

Código Delphi [-]

//..............................................................................
//    EXPORTAR UN DBGRID A EXCEL
//..............................................................................
procedure TPrincipal.exportarGridExcel (mGrid : tdbgrid; lab:Tlabel);
var
  rangoExcel : VARIANT; // REEMPLAZO POR DELPHI7 TIPO. Excel2000.range;
  i, fila : integer;
  mMarcador : Tbookmarkstr;
  mTabla : tdataset;
  aplicacionExcel : TExcelApplication;
begin
Try
    Screen.Cursor := crHourGlass;
    Tlabel(Lab).Font.Color:= clRed ; //clRed; clYellow
    Tlabel(Lab).Font.Name:='Georgia';
  //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);    13
   rangoExcel.AutoFormat(10, 3, 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
         If ( (mTabla.Fields[i].DisplayLabel='P_FECHA')or (mTabla.Fields[i].DisplayLabel='FECHA')or (mTabla.Fields[i].DisplayLabel='FECHA_SUSCRIPCION')or (mTabla.Fields[i].DisplayLabel='FECHA_ACTA_INICIO')or (mTabla.Fields[i].DisplayLabel='FECHA_TERMINACION')or (mTabla.Fields[i].DisplayLabel='FECHA_CDP1')or (mTabla.Fields[i].DisplayLabel='FECHA_RP1')or (mTabla.Fields[i].DisplayLabel='FECHA_APROBACION_POLIZA')) then
           rangoExcel.Value := mTabla.Fields[i].AsDateTime
          else
         If ( (mTabla.Fields[i].DisplayLabel='FECHA_PUBLICACION_PROYECTO')or (mTabla.Fields[i].DisplayLabel='FECHA_EXPEDICION_POLIZA')or (mTabla.Fields[i].DisplayLabel='PERIODOI_CALIDAD')or (mTabla.Fields[i].DisplayLabel='PERIODOF_CALIDAD')or (mTabla.Fields[i].DisplayLabel='PERIODOI_CUMPLIMIENTO')or (mTabla.Fields[i].DisplayLabel='PERIODOF_CUMPLIMIENTO')or (mTabla.Fields[i].DisplayLabel='PERIODOI_PRESTACIONES')or (mTabla.Fields[i].DisplayLabel='PERIODOF_PRESTACIONES')) then
           rangoExcel.Value := mTabla.Fields[i].AsDateTime
          else
           If ((mTabla.Fields[i].DisplayLabel='FECHA_RETIRO')And (Not(mTabla.Fields[i].IsNull)) ) Then
              rangoExcel.Value := mTabla.Fields[i].AsDateTime
          else
           If ((mTabla.Fields[i].DisplayLabel='PAGOS_REALIZADOS')And (Not(mTabla.Fields[i].IsNull)) ) Then
           begin
         //     rangoExcel.NumberFormat:='0';
              rangoExcel.Value := mTabla.Fields[i].AsDateTime;
              end
           Else
            rangoExcel.Value := mTabla.Fields[i].AsString;
          rangoExcel := rangoExcel.Next;
        end;
        mTabla.Next;
        Inc(fila);
        Tlabel(Lab).Caption:='Exportando... Fila Nro.'+IntToStr(Fila);
      end;
      finally
        mTabla.Bookmark := mMarcador;
      end;
    finally
      mTabla.EnableControls;
    end;

     Tlabel(Lab).Font.Color:=clNavy;
     Tlabel(Lab).Caption:='Exportación Terminada!.';
         Screen.Cursor := crDefault;
    //mostramos Excel
   aplicacionExcel.Visible[0] := true;

   aplicacionExcel.Disconnect;
except
 on exception do
 begin
    //aplicacionExcel.Disconnect;     // comentariado debido a error de inicialización, realizar seguimiento.
    aplicacionExcel.Quit;
    messagedlg(' la exportación de datos, Esta Terminando su Proceso.',mterror,[mbok],0);
  end;
end;
end;

la columna 'PAGOS_REALIZADOS' quiero que me salga en formato numerico div x puntos
__________________
Enseñar es la virtud de un sabio.
Responder Con Cita
  #2  
Antiguo 08-06-2011
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
disculpen este codigo, ya no lo utilizo, debido a que muchas veces no me exporta todos los datos . si abren alguna hoja de excel

actualmente exporto con el componente
__________________
Enseñar es la virtud de un sabio.
Responder Con Cita
  #3  
Antiguo 08-06-2011
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
disculpen este codigo, ya no lo utilizo, debido a que muchas veces no me exporta todos los datos . si abren alguna hoja de excel

actualmente exporto con el componente : DataToXLS1
conecto con el query y lo ejecuto.

Código Delphi [-]
  
DataToXLS1.SaveToFile(ChangeFileExt( 'D:\Tmp\DatosContraloria', '.csv' ) );
         Lexportar.Caption:='Archivo Exportado en:  D:\Tmp\DatosContraloria.csv';
         ShellExecute(Exportar.Handle,nil,pchar('D:\Tmp\DatosContraloria.csv'),'','',SW_SHOWNORMAL);

sele puede poner formato a las celdas-?
__________________
Enseñar es la virtud de un sabio.
Responder Con Cita
  #4  
Antiguo 08-06-2011
Avatar de ingabraham
ingabraham ingabraham is offline
Miembro
 
Registrado: ago 2007
Posts: 614
Poder: 17
ingabraham Va por buen camino
x alli me encontre en un foro esto
Código:
puedes utilizar el evento OnGetDetailParams para cambiar los atributos de celdas particulares.
__________________
Enseñar es la virtud de un sabio.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Exportar a Excel con formato numérico Viky Varios 7 08-06-2011 22:01:38
Exportar a Excel, formato de Celda oscarac Varios 1 20-05-2011 10:55:22
Exportar un DBGRID a excel con formato de fecha Luis Castro Varios 3 21-01-2011 22:54:38
Exportar a Excel en formato .xls Parabol77 Varios 3 23-10-2010 02:32:23
Formato numerico excel Sick boy Servers 2 29-03-2005 00:16:31


La franja horaria es GMT +2. Ahora son las 15:20:01.


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