Hay alguna forma de exportar a Excel mas rapido???
Publicado por Hector (61 intervenciones) el 03/12/2002 16:46:30
Hola a todos y gracias por la ayuda.
Tengo que exportar de un msflexgrid a un excel, el tema es que son 20.000 lineas x 9 columnas, la exportacion la hace muy bien excepto que es muy lento, tarda muchísimo. Existe alguna forma de acelerar esto??, el codigo que uso es:
Dim MiExcel As Object
Dim guardar As String
'EXPORTAR INFORME A EXEL'
CommonDialog1.CancelError = True
Set MiExcel = CreateObject("excel.sheet")
Do While grid.TextMatrix(fila, 2) <> ""
grid.Row = 20000
For i = 0 To 8
grid.col = i
MiExcel.ActiveSheet.Cells(fila + 1, i + 1).Value = grid.Text
Next
fila = fila + 1
i = 0
Loop
'Guardo archivo'
CommonDialog1.Flags = cdlOFNHideReadOnly
CommonDialog1.Filter = "Todos los archivos (*.XLS)|*.XLS"
CommonDialog1.FilterIndex = 2
CommonDialog1.ShowSave
guardar = CommonDialog1.FileName
MiExcel.SaveAs guardar
MiExcel.Application.Quit
Set MiExcel = Nothing
MsgBox "Se Generó el archivo:" & guardar, vbInformation, "Informe" ' guardar
Tengo que exportar de un msflexgrid a un excel, el tema es que son 20.000 lineas x 9 columnas, la exportacion la hace muy bien excepto que es muy lento, tarda muchísimo. Existe alguna forma de acelerar esto??, el codigo que uso es:
Dim MiExcel As Object
Dim guardar As String
'EXPORTAR INFORME A EXEL'
CommonDialog1.CancelError = True
Set MiExcel = CreateObject("excel.sheet")
Do While grid.TextMatrix(fila, 2) <> ""
grid.Row = 20000
For i = 0 To 8
grid.col = i
MiExcel.ActiveSheet.Cells(fila + 1, i + 1).Value = grid.Text
Next
fila = fila + 1
i = 0
Loop
'Guardo archivo'
CommonDialog1.Flags = cdlOFNHideReadOnly
CommonDialog1.Filter = "Todos los archivos (*.XLS)|*.XLS"
CommonDialog1.FilterIndex = 2
CommonDialog1.ShowSave
guardar = CommonDialog1.FileName
MiExcel.SaveAs guardar
MiExcel.Application.Quit
Set MiExcel = Nothing
MsgBox "Se Generó el archivo:" & guardar, vbInformation, "Informe" ' guardar
Valora esta pregunta


0