83,000 rows is too much to loop over.
That's why I want to grab the header row, dynamically build a SQL Statement to build a table(temporary one), then pass a BULK INSERT query to the SQL server to import the tab deliminited file. Append the necessary data to the table, export it to the user, then DROP the table.