I am moving data from an ADO.NET DataTable object in C# and
I am having performance issues.

QueryTables.Add, at least when called from C#,
seems to spin off its own thread. So I go doing
a bunch of other stuff to an invisible sheet AFTER
I want the data transfer to occur, however, even
after everything else completes (including showing
the file) it is still executing.

I can't use Range.CopyFromRecordset as that method
seems to interface with my .NET DataTable.

So I am essentially setting cell values like so:

for (int i=0; i< myDTable.Rows.Count; i++)
{
for (int j=0; j< myDTable.Columns.Count; j++)
{
myCell.Value = myDTable.Rows[i][j]; //this is pseudo
}
}

and this is horribly inefficient, even for modest
sized data sets.

Any way to dump this to the sheet faster.

I wouldn't mind a non-looping approach
to putting a DataRow object in some Range,
I just don't know how to do it.

Thanks.
thomas