Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-08-2006
mayte mtz mayte mtz is offline
Miembro
 
Registrado: sep 2005
Posts: 31
Poder: 0
mayte mtz Va por buen camino
Formateo desde Delphi a Excel

Buenos días:

Tengo un dbgrid que paso a excel con el sgte código:



Código Delphi [-]
procedure TfrmAnexosConta.CopyExcel(grid:TwwDbGrid);
var
 WorkBk : _WorkBook;     //  Define un WorkBook
 WorkSheet : _WorkSheet; //  Define un WorkSheet
 I, J, K, R, C : Integer;
 IIndex : OleVariant;
 TabGrid : Variant;
begin
   IIndex  := 1;
   R       := Grid.DataSource.DataSet.RecordCount+1;
   C       := Grid.GetColCount-1;
   TabGrid := VarArrayCreate([0,(R - 1),0,(C - 1)],varVariant);
   I       := 0;
   k       := 0;
   grid.DataSource.DataSet.First;
   //  llena el arreglo de variants
   repeat
   for J := 0 to (C - 1) do
    if (I = 0) then begin
       TabGrid[I,J] := grid.Fields[K].DisplayName; //pone los nombres de los campos en la primera linea
       inc(K);
    end else
    if grid.Fields[j].IsNull then
       TabGrid[I,J] := ' ' else
       TabGrid[I,J] := grid.Fields[j].AsVariant; // llena el arreglo con datos
    if (I > 0) then grid.DataSource.DataSet.Next;
    Inc(I);
  until I > (R - 1);
    XLApp                := TExcelApplication.Create(nil);
    XLApp.ConnectKind    := (ckNewInstance);
    XLApp.Connect;                                                       // se conecta al server TExcelApplication
    XLApp.WorkBooks.Add(OleVariant(xlWBATWorksheet),IIndex);             // agrega WorkBooks a ExcelApplication
    WorkBk               := XLApp.WorkBooks.Item[IIndex];                // selecciona el primer WorkBook
    WorkSheet            := WorkBk.WorkSheets.Get_Item(1) as _WorkSheet; // Define la primer hoja
    Worksheet.Range['A1',Worksheet.Cells.Item[R,C]].Value := TabGrid;    // asigna el arreglo de variants al variant asociado con la hoja
    //WorkSheet.Name       := Nombre;                                      // Customiza la hoja
    XLApp.Visible[0]     := True;                                        // Muestra Excel
    XLApp.Disconnect;                                                    // Desconecta el Server
    inc(IIndex);
    TabGrid := Unassigned;                                               // Desasigna el arreglo de variants
end;






Pero necesito que si el contenido de una de las celdas que envio esta entre un rango de valores, que rellene la celda con un color o bien enviar el color de la letra en un color determinado.

Intente con la sgte instrucción pero no me ha resultado.


Código Delphi [-]
nVen := worksheet.Cells.item[I,J].value ;
case  nVen  of
           90..99:    worksheet.Cells.item[I,J].Font.Color := clgreen;
           100..110:  worksheet.Cells.item[I,J].Font.Color := clblue;
           111..999:  worksheet.Cells.item[I,J].Font.Color := clred;
        end;




Me pueden decir en donde puedo encontrar algo que me ayude a resolver esto?

Gracias

Mayte Mtz

Última edición por roman fecha: 09-08-2006 a las 16:47:12. Razón: Corregir etiqueta [delphi] para mayor legibilidad
Responder Con Cita
  #2  
Antiguo 09-08-2006
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Usando el buscador del foro encuentras, por ejemplo esto: Color de fila en excel
Además deberías usar el valor que asignas a la celda, no el contenido de la celda para hacer el "case", sólo por precaución. Lo digo porque a mí, alguna vez me ha dado problemas.
Responder Con Cita
  #3  
Antiguo 09-08-2006
mayte mtz mayte mtz is offline
Miembro
 
Registrado: sep 2005
Posts: 31
Poder: 0
mayte mtz Va por buen camino
Gracias, voy a checarlo
Responder Con Cita
  #4  
Antiguo 09-08-2006
mayte mtz mayte mtz is offline
Miembro
 
Registrado: sep 2005
Posts: 31
Poder: 0
mayte mtz Va por buen camino
ya quedo resuelto

Muchas gracias ya logre darle formato con la instrucción que me dieron.
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
Llamar a excel desde delphi jessie Servers 5 22-12-2010 23:09:02
Guardar archivo excel desde delphi rruffino Servers 7 01-02-2008 18:20:32
Copiar y Pegar en Excel desde Delphi Sergio Servers 3 28-02-2007 21:26:13
a excel desde delphi SEBAC_28 Servers 3 21-12-2004 15:47:01
Formato Excel Desde Delphi Bagy Servers 1 22-06-2004 08:45:08


La franja horaria es GMT +2. Ahora son las 07:45:50.


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