Monday, September 6, 2010

Export data to a CSV file

If you have your data in a DataTable object and want to export it in CSV format, you could use this sample code. I suppose that you already have a method called GetData that returns the DataTable.

DataTable dt = GetData();
HttpContext context = HttpContext.Current;
context.Response.Clear();
context.Response.ContentType = "text/csv";
context.Response.AddHeader("Content-Disposition", "attachment; filename=csvfile.csv");
context.Response.ContentEncoding = Encoding.UTF8;
for (int i = 0; i < dt.Columns.Count; i++)
{
      if(i > 0)
            context.Response.Write(",");
      context.Response.Write(dt.Columns[i].ColumnName);
}
context.Response.Write(Environment.NewLine);
foreach(DataRow row in dt.Rows)
{
      for(int i = 0; i < dt.Columns.Count; i++)
      {
            if(i > 0)
                  context.Response.Write(",");
            context.Response.Write(row[i].ToString());
      }
      context.Response.Write(Environment.NewLine);
}
context.Response.End();

No comments:

Post a Comment