Ejemplo Clase Texcel

Post Reply
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Ejemplo Clase Texcel

Post by leandro »

Amigos del foro he descargado la clase que modifico vickthor de su sitio... He estado revisando los ejemplos, pero todavia no la tengo clara .....

Si alguien me pudiera ayudar con un ejemplo que pase una base de datos a excel se lo agradeceria... de Antemano gracias.
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
Vikthor
Posts: 271
Joined: Fri Oct 07, 2005 5:20 am
Location: México

Re: Ejemplo Clase Texcel

Post by Vikthor »

leandro wrote:Amigos del foro he descargado la clase que modifico vickthor de su sitio... He estado revisando los ejemplos, pero todavia no la tengo clara .....

Si alguien me pudiera ayudar con un ejemplo que pase una base de datos a excel se lo agradeceria... de Antemano gracias.
Leandro :

El siguiente código crea un libro y en la primera hoja, vacia todo el contenido de un archivo .dbf , se asigna formato a las columnas , se define el nombre para un rango , se cambia el tipo de letra, se renombra la hoja.

Espero que te ayude.

Code: Select all

        oExcel := TExcelScript():New()

        oExcel:Create( cFile+".xls" )

        oExcel:oSheet:Range( "A:E" ):NumberFormat = "@"

        // Hoja para los lotes

        uData := "NUMBER"+Chr( 9 )+"ITEM"+Chr( 9 )+"LOTE"+Chr( 9 )+"QUANTY"+Chr( 9 )+"ALMACEN"+ CRLF
        bAdd := { || uData += Alltrim( ( cLt )->Number )+ Chr( 9 ) , ;
                     uData += Alltrim( ( cLt )->Item )+ Chr( 9 ) , ;
                     uData += Alltrim( Transform( ( cLt )->Lote , "XXXXXXXX") )+ Chr( 9 ) , ;
                     uData += Alltrim( Transform( ( cLt )->Quanty , "##,###,###") )+ Chr( 9 ) , ;
                     uData += Alltrim( ( cLt )->Almacen ) , ;
                     uData += CRLF }


       ( cLt )->( DbGoTop() )
        nStart := 1
        nLine := 1
        oClip := TClipBoard():New()
        DO WHILE ( cLt )->( !Eof() )
           nLine++
           Eval( bAdd )
           IF Len( uData ) > 50000
              oClip:Clear()
              oClip:SetText( uData )
              cCell := "A" + Alltrim( Str( nStart ) )
              oExcel:SetPos( cCell )
              oExcel:Paste()
              nStart := nLine + 1
              uData := ""
           ENDIF
           ( cLt )->( DbSkip( 1 ) )
        ENDDO
        IF Len( uData ) > 0
           oClip:Clear()
           oClip:SetText( uData )
           cCell := "A" + Alltrim( Str( nStart ) )
           oExcel:SetPos( cCell )
           oExcel:Paste()
        ENDIF
        cRange := "A1:E" + Alltrim( Str( nLine ) )
        oExcel:oSheet:Range( cRange ):Select()
        oClip:Clear()
        oExcel:NameSheet( "Hoja1" , "LOTES" )
        oExcel:oExcel:Selection:Name := "LOTES"
        oExcel:oExcel:Selection:Font:Name := "Tahoma"
        oExcel:oExcel:Selection:AutoFit()
        oClip:End()
        ( cLt )-> ( DbCloseArea() )

Vikthor
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Amigo Gracias lo voy a probar

Post by leandro »

:arrow: Amigo muchas gracias voy a probar y te comento. :D
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
Post Reply