RE:archivo xls (excel) a Dbf
Si utilizas Fivewin, mejor utiliza OLE para leer directamente las celdas de la hoja y guardarlas sobre la DBF sin necesidad de hacer nada de por medio, este es el ejemplo:
FUNCTION XLS2DBF
LOCAL oExcel, oHoja, nRows, nCols
LOCAL TCampos:={}, nRow, nCol
oExcel := TOleAuto():New( "Excel.Application" )
oExcel:Visible := .T. // por si quieres ver la hoja abierta
oExcel:WorkBooks:Open(cGetFile("*.XLS", "Seleccione Fichero"))
oHoja := oExcel:Get( "ActiveSheet" )
nRows := oHoja:UsedRange:Rows:Count()
nCols := oHoja:UsedRange:Columns:Count()
USE IMPDIAR
FOR nRow := 2 TO nRows
APPEND BLANK
FOR nCol := 1 TO nCols
xValue := oHoja:Cells(nRow, nCol):Value
FieldPut(nCol,xValue)
SysRefresh()
NEXT
DBCOMMIT()
NEXT
oHoja:End()
oExcel:End()
RETURN