Believe it or not, but the following is actually faster than DataToClip()
especially for a large number of rows:
COPY TO filename DELIMITED WITH TAB
_CLIPTEXT = FILETOSTR(filename)
oExcel.ActiveSheet.Paste()
_CLIPTEXT = “” && clear out the clipboard
>Automation will do it, but I think the limit then is 64K. After that you will need additional sheets or workbooks.
>
>A fast way is to select an amount of data and then use
>_VFP.DataToClip( , , 3)
>oExcel.Paste()
>
>This makes an array, and you are limited by the max size of an array so if you have a lot of columns you will need to paste fewer rows at a time.
>
>Another method is to COPY TO with a small piece at a time and Workbooks.Add() each piece.
>
>A third way is to copy to a DBF and automate opening that and saving as an XLS.
>
>>HI,
>>I have queries that may contain 100-500k of rows. I want to export them in Excel. I tried COPY TO...TYPE XL5. It only copy 16383 rows. I know that Excel is able to hold more than that. Is there another solution for it ? Ole automation surely ?
>>
>>Thank you,
>>Christian Cote