Была аналогичная задача, сделал так:
1. Создаём 2 таблицы: таблица1 (которую будем поочередно привязывать к каждому файлу) и таблица2 (в которую собираем все таблицы).
2. Получаем список всех таблиц в директории.
3. Дальше цикл:
- получили строку с адресом таблицы;
- привязали к файлу таблицу1;
- выполнили C# код, взятый
здесь;
- очистили таблицу1 и начали цикл заново.
Получается меньше итераций, чем при построчном копировании. Есть ли выигрыш по скорости выполнения сказать не могу.
Как пишут выше, наверное можно выполнить всю задачу в одном кубике C#, но я в нём ничего не понимаю.