Anton10111986, Я не далеко от Вас ушел. Думаю, данную задачу можно решить проще).
Теперь по шагам:
- подключился к файлу
- отфильтровал нужные листы (возможно Вам необходимо будет пересмотреть фильтрацию для реального файла)
- на каждом листе почистил пустые строки и заменил ошибки на null
- сгруппировал на каждом листе в виде таблицы, используя GroupKind.Local и параметр для группировки "№ п/п"
- поднял первую строку в заголовки, удалил не нужные столбцы и строки.
- опустил заголовки в первую строку, транспонировал таблицу и опять поднял первую строку в заголовки
- развернул сгруппированные таблицы