REF:Export GridView Data to Excel using Open Xml in ASP.Net
Please refer this code
HTML
<asp:Button Text="Export" OnClick="ExportExcel" runat="server" />
Namespaces
using System.IO;
using System.Data;
using ClosedXML.Excel;
C#
protected void ExportExcel(object sender, EventArgs e)
{
DataTable dt = new DataTable("GridView_Data");
dt.Columns.AddRange(new DataColumn[6] { new DataColumn("Id", typeof(int)),
new DataColumn("Name", typeof(string)),
new DataColumn("Country",typeof(string)),
new DataColumn("City",typeof(string)),
new DataColumn("Moble",typeof(string)),
new DataColumn("Landline",typeof(string))});
dt.Rows.Add(1, "John Hammond", "United States", "Washington DC", "111111111", "11111111");
dt.Rows.Add(2, "Mudassar Khan", "India", "Mumbai", "111111111", "11111111");
dt.Rows.Add(3, "Suzanne Mathews", "France", "Paris", "111111111", "11111111");
dt.Rows.Add(4, "Robert Schidner", "Russia", "Moscow", "111111111", "11111111");
DataTable dt1 = new DataTable("GridView_Data");
DataTable dt2 = new DataTable("GridView_Data1");
for (int i = 0; i < dt.Columns.Count - 3; i++)
{
dt1.Columns.Add(dt.Columns[i].ColumnName);
}
for (int i = 0; i < dt.Rows.Count; i++)
{
dt1.Rows.Add(dt.Rows[i][0].ToString(), dt.Rows[i][1].ToString(), dt.Rows[i][2].ToString());
}
for (int i = dt1.Columns.Count; i < dt.Columns.Count; i++)
{
dt2.Columns.Add(dt.Columns[i].ColumnName);
}
for (int i = 0; i < dt.Rows.Count; i++)
{
dt2.Rows.Add(dt.Rows[i][3].ToString(), dt.Rows[i][4].ToString(), dt.Rows[i][5].ToString());
}
using (XLWorkbook wb = new XLWorkbook())
{
wb.Worksheets.Add(dt1);
wb.Worksheets.Add(dt2);
Response.Clear();
Response.Buffer = true;
Response.Charset = "";
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment;filename=GridView.xlsx");
using (MemoryStream MyMemoryStream = new MemoryStream())
{
wb.SaveAs(MyMemoryStream);
MyMemoryStream.WriteTo(Response.OutputStream);
Response.Flush();
Response.End();
}
}
}
Screenshot
First one is sheet one and other one is sheet two.
