Escritura de filas de DataReader al archivo de Excel

Tengo datos en SQL Server 2000 y tengo un HyperLink que pasa a un formulario de transferencia cuyo código subyacente generará los datos en un archivo de Excel. He estado siguiendo este tutorial:

http: //www.dzone.com/links/r/export_gridview_to_excelcsv_in_net_using_c.htm

He logrado generar algunos valores de muestra del DataReader. El primer problema que encuentro es que no hay un método de carga de tabla de datos en 1.1. Tengo datos que regresan a través del DataReader, pero necesito ayuda para crear los encabezados y enviarlos, junto con las filas de datos, al archivo de Excel ...

Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.Buffer = true;

string attachment 
    = "attachment;filename=Report_" + DateTime.Now.ToString() + ".xls"; 
Response.AddHeader("content-disposition", attachment);

Response.Charset = string.Empty;
Response.Cache.SetCacheability(System.Web.HttpCacheability.Public);
Response.ContentType = "application/ms-excel";

DataTable dt = new DataTable();
dt.Columns.Add("Company");
dt.Columns.Add("Address1");
dt.Columns.Add("Address2");
dt.Columns.Add("City");
dt.Columns.Add("State");
dt.Columns.Add("ZipCode");

SqlConnection con = new SqlConnection();
SqlCommand com = new SqlCommand();
con.ConnectionString = "myconnstring";
com.Connection = con;
com.CommandText 
    = "SELECT DISTINCT  Company, Address1, Address2, City, State, ZipCode" + 
      " FROM Vendor_View";
con.Open();

SqlDataReader dr = com.ExecuteReader();
while(dr.Read())
{
    // how to grab and output data to Excel? 
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta