FWH has built-in functions GetExcelRange() and FW_ExcelToDBF() for this purpose. But your data is huge, better to use a custom approach for this case. 1) Save Excel sheet as CSV and then copy to DBF. OR 2) Reading row by row is ok. Instead, read in chunks, ranges of 20,000 approx in a loop and save ...