Сначала загрузите лист Excel в промежуточную таблицу, а затем решите, обновлять или вставлять строки в один пакет или что.
Как правило, вставка миллиона строк из одной таблицы в другую должна выполняться достаточно быстро, пока сервер находится под нагрузкой. Во время вставки у вас будет блокировка, но это займет несколько секунд. Если вы не загружаете миллиарды записей в минуту или ваша операция вставки выполняется очень интенсивно, я не вижу в этом проблемы.
Если ваше упорство очень сложно, есть несколько способов сделать это. Вы можете вставить в один пакет, но пометить производственные записи как неполные, так как их подчиненные записи обновляются. Вы можете пометить промежуточные строки как необработанные и обработанные партиями.