>Hi Dragan,
>
>>Since every *.xlsx (or docx or an otherx) is actually a zipped set of xml files (with subfolders), you may just extract the appropriate file from that set and extract what you >need. I've done some of that with some of .od? (Ooo/LibreOffice) formats, who have done that several years before M$ did, and it wasn't too bad.
>
>I understand you can do it. However I doubt I'll be able to extract over 90,000 cells content per second on an oldish celeron from a complex data structure such as the ones of this software dinosaur from VFP without resorting to highly demanding C or C++ code via fll. Do not really want to invest that time to-day. Last time I coded a .fll was around 1992 if my memory serves me well:) A couple of lines of manipulations via COM certainly fits my agenda much better.
>
>By the way it looks like the product does generate od* file but does not offer data import from these format sat this stage. That would make it more attractive for sure.
>
>Daniel
>
>PS: fetching MS-Excel cells from VFP via EXCEL automation peaks at around 2,000 cells per sec... As opposed to 90,000 with this solution. That's a difference IMHO:) I understand you can peek MS-Excel data per block into VFP arrays or resort to tricks such as ADO. But this sheer speed should allow for trivial code when massaging MS-Excel. I like that.
If you allow for automation but hate the slowness... consider selecting all in excel, .selection.copy(), strtofile(_cliptext, "my.csv", but the actual format is tab delimited) and see how you like the result. Then of course, instead of reading that file back, just nRows=alines(al, _cliptexT) and take it from there. This should be very fast.