If you can assume that your application has SQL Server available, it is fairly straightforward to programmatically set up a SSIS package to do this type of transformation. Your application would provide a UI where you could set up the metadata for the data source and map it to the destination. You could possibly even just use SSIS package editor in BIDS itself for the job and incorporate a facility in your application to execute the package.
If SSIS is not available to you then you would have to purchase something commercial - I am not aware of any mature open-source .Net based ETL tooling of this sort.
If you don't strictly need a .Net based toolchain (for example, your application could possibly just shell out to an external executable) there are open source tools of this type, mostly written in Java. Take a look at the offerings from various open-source B.I. vendors such as Jasper or Pentaho.
Another alternative might be to embed a scripting language interpreter such as Python into your system (Check out IronPython - a .net based python system). These languages have quite a variety of library tooling for reading various types of files. The language can be used as a macro facility for the application and data imports can be implemented through this mechanism. This comes at the expense of being a somewhat technical, so it's something that would be done by support staff rather than directly by end users. Depending on the customer base and other implementation costs of your application this may or may not be acceptable.