А в дальнейшем эти сырые данные должны оставаться в системе? Если нет и общее кол-во этих записей ограничено размерами текущей порции загрузки, то можно нагенерить нужное кол-во recid (100 тыс. штук, например) и всё время использовать его. Или создать список пропущенных дыр и использовать его. Можно после использования просто для всех записей очищать все поля, кроме RecId, а при следующей загрузке не добавлять новые, а обновлять имеющиеся (по аналогии, как мы вводим данные в чистый лист Excel, где строки уже пронумерованы).
Упс! AndyD опередил и был конструктивно менее многословен