The OLE solution is the way to go if you need the process to be automated.
If you are doing data manipulation (one time) than simply open excel and saveas (txt, csv, etc) and then do dw_1.importfile(xxxx ) to import the temporary file you created from Excel.
I suspect you are looking for the first solution because the second is more obvious-- and I think that is where Matt was going with his answer.
Found another StackOverflow question like this that was answered here: How to import Excel file into DataWindow
Here is some code, that isn't exactly what you wanted, but it could be revised to work...
string ls_pathname, ls_filename
long ll_rc
oleobject loo_excel
IF GetFileOpenName ( "Open File", ls_pathname, ls_filename, "XLS", "Excel (*.xls),*.xls" ) < 1 THEN Return
loo_excel = CREATE OLEObject
loo_excel.ConnectToNewObject( "excel.application" )
loo_excel.visible = false
loo_excel.workbooks.open( ls_pathname )
loo_excel.ActiveCell.CurrentRegion.Select()
loo_excel.Selection.Copy()
ll_rc = dw_1.ImportClipBoard ( 2 )
ClipBoard('')
loo_excel.workbooks.close()
loo_excel.disconnectobject()
DESTROY loo_excel
The clipboard seems kind of round-about but it was all I could find on short-time. Good luck