Page 1 of 1
Ejemplo Clase Texcel
Posted: Wed Oct 11, 2006 12:10 pm
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.
Re: Ejemplo Clase Texcel
Posted: Wed Oct 11, 2006 2:02 pm
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() )
Amigo Gracias lo voy a probar
Posted: Thu Oct 12, 2006 7:20 pm
by leandro
Amigo muchas gracias voy a probar y te comento.