Home
Manage Your Code
Snippet: Export DataSet to CSV (C#)
Title: Export DataSet to CSV Language: C#
Description: Download a CSV file from an ASP.Net page. Just call the method from any button click. Views: 189
Author: Aaron Crandall Date Added: 4/29/2008
Copy Code  
1private void downloadCSV(DataSet ds, string filename)
2{
3	Response.Clear();
4	Response.ContentType = "text/plain";
5	Response.AppendHeader("content-disposition",
6												"attachment; filename=" + filename + ".csv");
7	Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
8
9	DataTable table = ds.Tables[0];
10
11	//Write the column headers

12	bool first = true;
13	foreach (DataColumn column in table.Columns)
14	{
15		if (!first)
16		{
17			Response.Write(",");
18		}
19		Response.Write("\"");
20		Response.Write(column.ColumnName);
21		Response.Write("\"");
22		first = false;
23	}
24
25	//Write the data

26	foreach (DataRow row in table.Rows)
27	{
28		Response.Write(Environment.NewLine);
29		first = true;
30		foreach (DataColumn column in table.Columns)
31		{
32			if (!first)
33			{
34				Response.Write(",");
35			}
36			Response.Write("\"");
37			Response.Write(row[column.ColumnName]);
38			Response.Write("\"");
39			first = false;
40		}
41		Response.Write(Environment.NewLine);
42	}
43
44	Response.Flush();
45	Response.End();
46}
47
Usage
//Example of a button event handler:
protected void btnExport_Click(object sender, EventArgs e)
{
	DataSet ds = GetSalesData(); // some external method
	downloadCSV(ds, "SalesReport");
}
Notes
Error handling has been removed for clarity.