excel

Consultas, trucos, consejos. Todo sobre Clarion en todas sus versiones
Responder
gmicha25
Mensajes: 1
Registrado: Mar Ago 30, 2016 1:41 pm
Contactar:

excel

Mensaje por gmicha25 » Mar Ago 30, 2016 4:13 pm

hola
quisiera saber si alguien logro acelerar la baja a excel con clarion 6.3
es muy lenta la pasada por pantalla de celda por celda
gracias


jarodav1
Ayudante de Santa
Mensajes: 70
Registrado: Sab Feb 12, 2011 1:53 am
Ubicación: Cd. Juarez,Chih,Mexico
Contactar:

Re: excel

Mensaje por jarodav1 » Jue Nov 17, 2016 7:13 pm

Yo hice una pequeña clase para eso
Member()
!Clase creada por victor montanes
Map
End

include('XlsExport.inc'),once
INCLUDE('EQUATES.CLW'),ONCE
INCLUDE('KEYCODES.CLW'),ONCE

XlsExportClass.Init PROCEDURE()
CODE
SELF.StrConenedor = ''
SELF.objeto= CREATE(0,CREATE:Ole)
SELF.objeto{PROP:Create} = 'Excel.Application'
SELF.objeto{PROP:Language} = 0409H
SELF.objeto{'Workbooks.Add'}

XlsExportClass.AddRecord PROCEDURE()
CODE
SELF.StrConenedor = SELF.StrConenedor&'<13,10>'

XlsExportClass.AddHeader PROCEDURE(STRING pLinea1,STRING pLinea2)
CODE
SELF.StrConenedor = SELF.StrConenedor&CLIP(pLinea1)&'<13,10>'
IF CLIP(pLinea2)<>''
SELF.StrConenedor = SELF.StrConenedor&CLIP(pLinea2)&'<13,10>'
END

XlsExportClass.AddColumn PROCEDURE(STRING pContenido)
CODE
SELF.StrConenedor = SELF.StrConenedor&CLIP(pContenido)&'<9>'

XlsExportClass.AddRow PROCEDURE(STRING pContenido)

CODE
SELF.StrConenedor = SELF.StrConenedor&CLIP(pContenido)&'<13,10>'


XlsExportClass.Open PROCEDURE()
CODE

SELF.objeto{'Visible'} = True



XlsExportClass.Paste PROCEDURE()
xlRangeAutoFormatSimple EQUATE(0)

CODE
SETCLIPBOARD(SELF.StrConenedor)
SELF.objeto{'ActiveSheet.Paste'}

XlsExportClass.Autoformat PROCEDURE(LONG pFormat)
CODE
SELF.objeto{'Selection.AutoFormat(' &pFormat&',1,1,1,1,1,1)'}


XlsExportClass.SelectRange PROCEDURE(STRING pInicio,STRING pFinal)
CODE
SELF.objeto{'Range("'&clip(pInicio)&':'&clip(pFinal)&'").Select'}


XlsExportClass.SelectRangeRC PROCEDURE(LONG pRow,LONG pCol)
CODE
SELF.objeto{'Cells('&clip(pRow)&','&clip(pCol)&').Select'}


XlsExportClass.Write PROCEDURE(LONG pRow,LONG pCol,STRING pValor)

CODE
SELF.SelectRangeRC(pRow,pCol)

SELF.objeto{'ActiveCell.FormulaR1C1='}=CLip(pValor)

XlsExportClass.Merge PROCEDURE(STRING pInicio,STRING pFinal,BYTE pTruFalse)
CODE
SELF.objeto{'Range("'&clip(pInicio)&':'&clip(pFinal)&'").MergeCells'}=pTruFalse

XlsExportClass.LimpiaStrContenedor PROCEDURE()
CODE
SELF.StrConenedor=''

XlsExportClass.SetBold PROCEDURE()
CODE
SELF.objeto{'ActiveCell.Select'}
SELF.objeto{'ActiveCell.Font.Bold'}=True

XlsExportClass.CloseObjet PROCEDURE()
CODE
DESTROY(SELF.objeto)
SELF.StrConenedor=''
SETCURSOR()
Lo que hago es copiar a un string el contenido que voy a exportar y despues lo pego en el excel eso acelera mucho la exportada
saludos
Victor Montañez

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 20 invitados