Если вы можете предположить, что в вашем приложении имеется SQL Server, довольно просто программно настроить пакет служб SSIS для выполнения этого типа преобразования. Ваше приложение предоставит пользовательский интерфейс, в котором вы сможете настроить метаданные для источника данных и отобразить их в месте назначения. Возможно, вы даже можете просто использовать редактор пакетов SSIS в самой BIDS для этой работы и включить в свое приложение средство для выполнения пакета.
Если SSIS вам недоступен, вам придется купить что-то коммерческое - я не знаю ни одного зрелого инструментария ETL с открытым исходным кодом такого рода.
Если вам строго не нужен набор инструментов на основе .Net (например, ваше приложение может просто раскошелиться на внешний исполняемый файл), существуют инструменты с открытым исходным кодом этого типа, в основном написанные на Java. Взгляните на предложения от различных открытых источников B.I. такие продавцы, как Джаспер или Пентахо.
Другой альтернативой может быть встраивание в вашу систему интерпретатора языка сценариев, такого как Python (см. IronPython - система Python, основанная на .net). Эти языки имеют множество библиотечных инструментов для чтения различных типов файлов. Язык может использоваться в качестве средства макросов для приложения, а импорт данных может быть реализован с помощью этого механизма. Это происходит за счет некоторой технической поддержки, так что это будет делать персонал поддержки, а не напрямую конечные пользователи. В зависимости от клиентской базы и других затрат на внедрение вашего приложения это может быть или не быть приемлемым.