>>Why row by row? There are only two ways: cell by cell or range. A range could be all at once.
>>If you use automation to create / save the file + writing the data as one selection of range and one value assignment will not be slower then creating a external file and importing it.
>>It also gives you the posibility to export memos, and do any alteration you like.
>
>I prefer the combination... do _vfp.dataToClip(,,3), remove the first line of _cliptext and then in Excel, oRange.paste() - which still doesn't work with memos, but then the memos can be handled cell by cell. The oRange.Paste() is very fast.
>
>Depending on many factors, the overhead of addressing thousands of cells may make it slower than having Excel read a file from disk and fill those cells as it will. However, this "will" is, ahem, capricious, tends to have its own opinion about several things and generally tries to outsmart you. It usually succeeds in outsmarting me, because after that I feel like a fool.
What's wrong with
put the stuff you need in an array, run over it to eleminate all odds (automated by the field type?) and
loRange = .Range(.CELLS(1,1),.CELLS(ALEN(myArray,2),ALEN(myArray,1)))
loRange.Value = PassArray('myArray')
procedure PassArray
LPARA tcArray
return @&tcArray
endproc &PassArray
?
I'm doing that for ages now. Most time is lost in the transformations, o.k. but then I can move all data.
Lutz
Edit: Changed Name of the proc to make clear it is used to pass the array ...
#2 I guess it column, row in excel
Words are given to man to enable him to conceal his true feelings.
Charles Maurice de Talleyrand-Périgord
Weeks of programming can save you hours of planning.
OffThere is no place like [::1]