HOW TO EXPORT DATA FROM GRIDVIEW TO EXCEL FILE USING C# WINDOWS APPLICATION
In this post, I am going to explain and demonstrate how to export data from DataGridView to Excel file using C# Windows application.
1. Design your form by placing a DataGridView control on it. Here I have designed it like this:

2. Next we will load the data into dataGridView1 using the method:
public void LoadGridData()
{
DataTable dt = new
DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("Address");
dt.Columns.Add("Mobile");
dt.Rows.Add("Ravi Kumar Soni",
"Transport Department", "82690884xx");
dt.Rows.Add("Vikash Singh Chandel",
"NIC", "82690482xx");
dataGridView1.DataSource = dt;
}
3. And finally assign values in data table values looks like this:

4. Next we add a reference to the Microsoft.Office.Interop DLL to our project from "Project" -> "Add Reference".

5. Double click on Export to excel button and write this code
if (dataGridView1.Rows.Count > 0)
{
Microsoft.Office.Interop.Excel.ApplicationClass XcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
XcelApp.Application.Workbooks.Add(Type.Missing);
for
(int i = 1; i < dataGridView1.Columns.Count
+ 1; i++)
{
XcelApp.Cells[1, i] =
dataGridView1.Columns[i - 1].HeaderText;
}
for
(int i = 0; i < dataGridView1.Rows.Count;
i++)
{
for
(int j = 0; j < dataGridView1.Columns.Count;
j++)
{
XcelApp.Cells[i + 2, j
+ 1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
}
}
XcelApp.Columns.AutoFit();
XcelApp.Visible = true;
Final Complete Code:
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Windows.Forms;
namespace
ExportDateFromGridViewToExcel
{
public partial class Form1 : Form
{
DataTable
dt = new DataTable();
public static string
FileName = "";
public
Form1()
{
InitializeComponent();
}
private
void Form1_Load(object
sender, EventArgs e)
{
LoadGridData();
}
public void LoadGridData()
{
DataTable
dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("Address");
dt.Columns.Add("Mobile");
dt.Rows.Add("Ravi Kumar Soni", "Transport
Department", "82690884xx");
dt.Rows.Add("Vikash Singh Chandel", "NIC",
"82690482xx");
dataGridView1.DataSource = dt;
}
private
void button1_Click(object
sender, EventArgs e)
{
if
(dataGridView1.Rows.Count > 0)
{
Microsoft.Office.Interop.Excel.ApplicationClass XcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
XcelApp.Application.Workbooks.Add(Type.Missing);
for
(int i = 1; i < dataGridView1.Columns.Count
+ 1; i++)
{
XcelApp.Cells[1, i] =
dataGridView1.Columns[i - 1].HeaderText;
}
for
(int i = 0; i < dataGridView1.Rows.Count;
i++)
{
for
(int j = 0; j < dataGridView1.Columns.Count;
j++)
{
XcelApp.Cells[i + 2, j
+ 1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
}
}
XcelApp.Columns.AutoFit();
XcelApp.Visible = true;
}
}
}
}
6. Run Code and click on Export to
button.

download source Code: Click Here
written by Ravi Kumar Soni
No comments:
Post a Comment