Articles → ASP .NET GRIDVIEW → Export Grid View Data To CSV In Asp.Net

Export Grid View Data To CSV In Asp.Net

Software Requirement

  1. Visual studio 2005(or above) is installed on your machine.
  2. SQL Server 2005(or above) is installed on your machine

Prerequisite Knowledge

  1. Basics about SQL objects like tables.
  2. How to create tables in SQL server and how to insert data into the table?
  3. How to create a project using visual studio?
  4. Basic knowledge about basic controls like button textbox etc and their events
  5. Basic knowledge about data controls like grid view.
  6. How to bind data in grid view?

Steps Of Execution

  1. Create a new table
  2. Add data in the table
  3. Create a new project
  4. Add controls on the page
  5. Add code to bind grid
  6. Add code to export grid view data to CSV

Create A New Table

Picture showing the database table in the design mode
Click to Enlarge

Add Data In The Table

Picture showing adding the data in the table
Click to Enlarge

Create A New Project

Picture showing the project explorer in the solution explorer of the visual studio
Click to Enlarge

Add Controls On The Page

<asp:GridView ID="gvReport" runat="server"  AutoGenerateColumns="false">
	<HeaderStyle Font-Names="Verdana" Font-Size="Small" BackColor="#90546f" ForeColor="White" BorderStyle="Solid" BorderColor="Black" />
	<RowStyle Font-Names="Verdana" Font-Size="Small"/>
		<asp:TemplateField HeaderText="Course Name">
				<asp:Label ID="Label1" runat="server" Text='<%#Eval("course_name") %>'>
		<asp:TemplateField HeaderText="Course Code">
				<asp:Label ID="Label2" runat="server" Text='<%#Eval("course_code") %>'>
		<asp:TemplateField HeaderText="Due Date">
				<asp:Label ID="Label3" runat="server" Text='<%#Eval("due_date") %>'>
<asp:Button ID="btnGetData" runat="server" Text="Get Data" OnClick="btnGetData_Click" />
<asp:Button ID="btnExportGridToCSV" runat="server" Text="Export" OnClick="btnExportGridToCSV_Click" />

  1. Gridview (gvReport) will display data fetch from database.
  2. Button (btnGetData) – Get data from database and bind gridview(gvReport)
  3. Button (btnExportGridToCSV) – export gridview to CSV.

Add Code To Bind Grid

protected void btnGetData_Click(object sender, EventArgs e) {
	DataSet oDataSet = new DataSet();
	using(SqlConnection oConnection = new SqlConnection("connection_string")) {
		// Open a connection
		using(SqlDataAdapter adapter = new SqlDataAdapter("select * from Course", oConnection)) {


	gvReport.DataSource = oDataSet.Tables[0];

Add Code To Export Grid View Data To CSV

protected void btnExportGridToCSV_Click(object sender, EventArgs e) {
	Response.Buffer = true;
	Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.csv");
	Response.Charset = "";
	Response.ContentType = ".csv";

	StringBuilder sb = new StringBuilder();
	for (int k = 0; k < gvReport.Columns.Count; k++) {
		//add separator
		sb.Append(gvReport.Columns[k].HeaderText + ',');
	//append new line
	for (int i = 0; i < gvReport.Rows.Count; i++) {
		sb.Append(((Label) gvReport.Rows[i].FindControl("Label1")).Text + ',');
		sb.Append(((Label) gvReport.Rows[i].FindControl("Label2")).Text + ',');
		sb.Append(((Label) gvReport.Rows[i].FindControl("Label3")).Text);

		//append new line


Picture showing the page when loaded for the first time
Click to Enlarge

Picture showing the data bound to the gridview on click of the Get Data button
Click to Enlarge

Picture showing the data exported to excel
Click to Enlarge

Posted By  -  Karan Gupta
Posted On  -  Tuesday, April 16, 2013


Your Email Id  
Query/FeedbackCharacters remaining 250