SET STEP ON cAsc=[ABCDEFGHIJKLMNOPQRSTUVWXYZ] &&& to convert # int letters :-) #INCLUDE excel10.h #define LF CHR(13)+CHR(10) LOCAL oExcel as Excel.Application && to make intellisense happy lcFileName=[c:\vapps\vcpr3\temp\xxx.xlsx] oExcel=CREATEOBJECT("Excel.Application") oExcel.visible= .T. oExcel.DisplayAlerts = .F. oW=oExcel.Workbooks.Open(lcFileName) * select sheet 3 ow.Worksheets[3].select nRows = oExcel.ActiveSheet.UsedRange.Rows.Count nCols = oExcel.ActiveSheet.UsedRange.Columns.Count cLastCol=substr(cAsc,nCols,1) &&& there are more sophisticated ways for wider sheets then A-Z xx= [create cursor cc1 (] FOR I = 1 TO nCols xx = xx + "F"+TRANSFORM(m.i)+" C(50)," ENDFOR xx=LEFT(xx,LEN(xx)-1)+[)] && create a cursor &xx && get the range oRange = oExcel.ActiveSheet.Range("A1:" + cLastCol+TRANSFORM(nRows) ) * fetch teh data into an array la1=oRange.value SELECT cc1 APPEND FROM ARRAY la1 BROWSEHope this proves the concept at least