FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Por que es tan lenta la emisi贸n a Excel con la Texcel nueva?
Posts: 185
Joined: Thu Nov 17, 2005 12:48 AM
Por que es tan lenta la emisi贸n a Excel con la Texcel nueva?
Posted: Sun Jan 08, 2006 08:41 PM

Estimados Amigos :
Ya logr茅 exportar datos a Excel con la clase tecxels de Vikthor, pero me llama la atenci贸n el tiempo que demora en generarse la planilla,
lo hago de la siguiente manera:

oExcel := TExcelScript():New()

oExcel:Create( "nutrien.xls" )
oExcel:Visualizar(.t.)

Fil:=2
oExcel:Say( 1,2, "CODIGO" )
oExcel:Say( 1,3, "NOMBRE" )
use NUTRIEN
while NUTRIEN->(!eof())
oExcel:Say( Fil, 2, NUTRIEN->ALIMENTO )
oExcel:Say( Fil, 3, NUTRIEN->CALORIAS)
Fil++
NUTRIEN->(DBSKIP())
enddo

Esto hace que aparezca excel y se va generando uno a uno los registros.
En la Texcels para FW Clipper esto era rapidisimo.

GRACIAS DE ANTEMANO
SALUDOS

Luis Alfonso Fuentes Guerrero

FWH 11.06 xHarbour 1.2.1 BCC55 WorkShop
Posts: 185
Joined: Thu Nov 17, 2005 12:48 AM
Por que es tan lenta la emisi贸n a Excel con la Texcel nueva?
Posted: Mon Jan 09, 2006 01:34 AM

..Y de donde puedo bajar la clase TFolder, TButton y TButtonBmp de rossine?

GRACIAS AMIGOS :D

Luis Alfonso Fuentes Guerrero

FWH 11.06 xHarbour 1.2.1 BCC55 WorkShop
Posts: 840
Joined: Thu Oct 13, 2005 07:05 PM
Por que es tan lenta la emisi贸n a Excel con la Texcel nueva?
Posted: Mon Jan 09, 2006 05:10 AM

Esa es precisamente la forma en la que no se debe de hacer la carga a la hoja de Excel.

Tienes de entrada 2 problemas:

1) La visualizaicon de la hoja alenta la comunicacion OLE, sugerencia, no visualices hasta que termines de cargar.

2) Nunca, nunca nunca, escribas directemente la celda, eso es tremendamente lento.

Lo que tienes que hacer es cargar los datos primero al portapapeles de Windows y luego mediatne OLE hacer el "paste" sobre Excel, y con eso puedes trabajar muchisimo mas rapido que escribiendo celda por celda.

Mira los ejemplos de ExcelScript y seguro encontraras el ejemplo que te menciono.

Saludos

R.F.
Posts: 185
Joined: Thu Nov 17, 2005 12:48 AM
Por que es tan lenta la emisi贸n a Excel con la Texcel nueva?
Posted: Mon Jan 09, 2006 02:28 PM

Perdon Ren茅 ..
no se como hacer esto ,donde encuentro estos ejemplos?

DE ANTEMANO GRACIAS

Luis Alfonso Fuentes Guerrero

FWH 11.06 xHarbour 1.2.1 BCC55 WorkShop
Posts: 298
Joined: Fri Oct 07, 2005 05:20 AM
Por que es tan lenta la emisi贸n a Excel con la Texcel nueva?
Posted: Mon Jan 09, 2006 02:40 PM
Te anexo un peque帽o ejemplo:
#include "FiveWin.ch"

FUNCTION MAIN()
  DEFINE WINDOW oWnd
  ACTIVATE WINDOW oWnd ON INIT Test()
RETURN


FUNCTION Test()
  LOCAL oExcel, oFile
  LOCAL cOrigen := cFilePath( GetModuleFileName( GetInstance() )) + "browse2.xls"
  LOCAL i
  cCadena:="Vikthor"+chr(9)+"Vikthor@creswin.com"+chr(13)
  cText:= cCadena+cCadena+cCadena+cCadena+cCadena+cCadena+cCadena+cCadena+cCadena+cCadena
*    cText:=""
  aCajas:={ 10 , 20 , 30 , 40 , 50 ,60, 70 , 80 , 90 ,100 , 110 ,120 , 130 ,;
            10 , 20 , 30 , 40 , 50 ,60, 70 , 80 , 90 ,100 , 110 ,120 , 130 ,;
            10 , 20 , 30 , 40 , 50 ,60, 70 , 80 , 90 ,100 , 110 ,120 , 130 ,;
            10 , 20 , 30 , 40 , 50 ,60, 70 , 80 , 90 ,100 , 110 ,120 , 130 ,;
            10 , 20 , 30 , 40 , 50 ,60, 70 , 80 , 90 ,100 , 110 ,120 , 130 ,;
            10 , 20 , 30 , 40 , 50 ,60, 70 , 80 , 90 ,100 , 110 ,120 , 130 ,;
            10 , 20 , 30 , 40 , 50 ,60, 70 , 80 , 90 ,100 , 110 ,120 , 130 ,;
            10 , 20 , 30 , 40 , 50 ,60, 70 , 80 , 90 ,100 , 110 ,120 , 130 ,;
            10 , 20 , 30 , 40 , 50 ,60, 70 , 80 , 90 ,100 , 110 ,120 , 130 ,;
            10 , 20 , 30 , 40 , 50 ,60, 70 , 80 , 90 ,100 , 110 ,120 , 130 ,;
            10 , 20 , 30 , 40 , 50 ,60, 70 , 80 , 90 ,100 , 110 ,120 , 130 ,;
            10 , 20 , 30 , 40 , 50 ,60, 70 , 80 , 90 ,100 , 110 ,120 , 130 }
  aContenedor:={ 570 , 210 , 140 }
  aMatriz:={}
  nPos:=1
  nCajas:=Len(aCajas)
  DO WHILE nPos <= nCajas
     aDatos:=array(6)
     nCaja:=aCajas[nPos]
     aDatos[1]:=Int( aContenedor[1] / nCaja)
     aDatos[2]:=Int( aContenedor[2] / nCaja)
     aDatos[3]:=Int( aContenedor[3] / nCaja)
     aDatos[4]:=aDatos[1]*aDatos[2]*aDatos[3]
     aDatos[5]:=nCaja^3
     aDatos[6]:=aDatos[4]*aDatos[5]
     nPos:=nPos+1
     aadd( aMatriz , aDatos )
  ENDDO
  FOR i := 1 TO Len( aMatriz )
      FOR j := 1 TO Len( aMatriz[i] )
          xVret:=aMatriz[ i,j ]
          xVret := IIF( ValType(xVret)=="D", DtoC(xVret),;
                   IIF( ValType(xVret)=="N", Str(xVret),xVret ) )
          cText+=xVret+chr(9)
      NEXT
      cText+=Chr(13)
  NEXT
  oExcel := TExcelScript():New()
  oExcel:Create( 'Temp.xls' )
  oExcel:visualizar(.T.)
  oClip:=TClipBoard():New()
  oClip:Clear()
  oClip:SetText( cText )
  oExcel:SetPos('B5')
  nCol:=cLetter2Column( 'B' )
  oExcel:Paste()
  oClip:End()
  cRange:=cMakeRange( 5 , nCol, ( 5+oExcel:nRowsCount() ) - 1 , ( nCol+oExcel:nColsCount())-1 )
  oRange := oExcel:oSheet:Range(cRange)
  oRange:Font:Name := 'Tahoma'
  oRange:Font:Size := 10
  oRange:Font:Bold := .T.
  oRange:Font:Color := rgb(0,0,150)
  oRange:Interior:Color := rgb(192,192,192)
  oRange:Borders():LineStyle  := 1
  oRange:Columns:AutoFit()

RETURN ( .T. )
Vikthor
Posts: 185
Joined: Thu Nov 17, 2005 12:48 AM
Por que es tan lenta la emisi贸n a Excel con la Texcel nueva?
Posted: Mon Jan 09, 2006 03:27 PM

Estimado Vikthor:

Al compilar el prg da los siguientes errores:

Error E2451 exel.c 97: Undefined symbol 'PRG_SOURCE' in function hb_vm_SymbolInit_EXEL
Error E2193 exel.c 196: Too few parameters in call to 'hb_vmExecute' in function HB_FUN_MAIN
Error E2193 exel.c 751: Too few parameters in call to 'hb_vmExecute' in function HB_FUN_TEST

Podrias mandarme un ejemplo mas sencillo porfis?

GRACIAS DE ANTEMANO

Luis Alfonso Fuentes Guerrero

FWH 11.06 xHarbour 1.2.1 BCC55 WorkShop
Posts: 185
Joined: Thu Nov 17, 2005 12:48 AM
Por que es tan lenta la emisi贸n a Excel con la Texcel nueva?
Posted: Mon Jan 09, 2006 03:39 PM

Error mio! la estaba compilando con harbour
la compile xon xharbour y funciona

GRACIAS VIKTHOR!

Luis Alfonso Fuentes Guerrero

FWH 11.06 xHarbour 1.2.1 BCC55 WorkShop

Continue the discussion