jose yo lo hago asi...pero hay muchos mas metodos y propiedades hechos en fw, seria bueno que hubiese un doc en donde se detalle cada uno de ellos
oExcel := TOleAuto():New( "Excel.Application" )
oExcel:WorkBooks:Add()
oWin := oExcel:ActiveWindow
oHoja := oExcel:ActiveSheet()
oHoja:Cells( 1, 1 ):Value := "LISTADO DE ARTICULOS MES "+LADESMES(mMes)
oHoja:Range( "A1:H1"):HorizontalAlignment := 7
oHoja:Rows( 1 ):Font:Bold := .T.
oWin := oExcel:ActiveWindow
oWin:SplitRow := 2
oWin:FreezePanes := .t.
oHoja:Rows( 2 ):Font:Bold := .T.
oHoja:Cells( 2, 1 ):Value := "Codigo"
oHoja:Cells( 2, 2 ):Value := "Descripcion"
oHoja:Cells( 2, 3 ):Value := "Um"
oHoja:Cells( 2, 4 ):Value := "Cap"
oHoja:Cells( 2, 5 ):Value := "Cant"
oHoja:Cells( 2, 6 ):Value := "Metros"
oHoja:Cells( 2, 7 ):Value := "Precio"
oHoja:Cells( 2, 8 ):Value := "Importe"
fila=3
DEFINE CLIPBOARD oClp OF oSelDlg
ARTICULO->(DBGotop())
oClp:Clear()
Do While articulo->(!Eof())
oClp:SetText( Trans(ARTICULO->Cod,"@") + chr( 9 ) + ;
ARTICULO->DesG + chr( 9 ) + ;
ARTICULO->Um + chr( 9 ) + ;
Trans(ARTICULO->Cap,"9,999") + chr( 9 ) + ;
Trans(nsaldo,"99,999") + chr( 9 ) + ;
Trans(nsaldomts,"999,999,999")+ chr( 9 ) + ;
Trans(nPrecio,"9,999.9999")+ chr( 9 ) + ;
Trans(nimporte,"999,999,999.99"))
oHoja:Cells( fila, 1 ):Select()
oHoja:Paste()
fila++
oClp:Clear()
articulo->(dbskip())
EndDo
oHoja:Columns( 1 ):AutoFit()
oHoja:Columns( 2 ):AutoFit()
oHoja:Columns( 3 ):AutoFit()
oHoja:Columns( 4 ):AutoFit()
oHoja:Columns( 5 ):AutoFit()
oHoja:Columns( 6 ):AutoFit()
oHoja:Columns( 7 ):AutoFit()
oHoja:Columns( 8 ):AutoFit()
oHoja:Columns( 7 ):NumberFormat := "##0.0000"
oHoja:Columns( 8 ):NumberFormat := "##,##0.00"
oHoja:Columns( 1 ):NumberFormat := "@"
oExcel:Visible := .T.