Envie DataSet como arquivo xml.
//Cria MemeoryStream
System.IO.MemoryStream ms = novo System.IO.MemoryStream();
// Escreve MemeoryStream
MyDataset.WriteXml(ms,System.Data.XmlWriteMode.IgnoreSchema);
Response.Clear();
// nome do arquivo e anexo
Response.AddHeader("Content-Disposition", "attachment; filename=Acounts.xml");
// tamanho do arquivo, para mostrar o processo de download
Response.AddHeader("Content-Length", ms.Length.ToString());
// modo:download
Response.ContentType = "application/octet-stream";
//enviando para o cliente
byte[] b = ms.ToArray();
Response.OutputStream.Write(b,0,b.Length);
Response.End();
}