First install EPPlus
using Nuget Package manager
- right click you project
- select Nuget Package Manager
- Search for
EPPlus
- Click install
then change your code to this
using OfficeOpenXml;
using (SqlCommand sqlCmd = new SqlCommand("databases.dbo.SP_GetAll_Reports", connection))
{
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.Parameters.AddWithValue("@customerName", SqlDbType.NVarChar).Value = custName;
using (SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd))
{
Session["TaskTable"] = dt;
sqlDa.Fill(dt);
if (dt.Tables.Count > 0)
{
MemoryStream ms = new MemoryStream();
int i=1;
using (ExcelPackage package = new ExcelPackage(ms))
{
foreach(DataTable table in dt.Tables)
{
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet"+i++);
worksheet.Cell["A1"].LoadFromDataTable(table, true);
}
Response.Clear();
package.SaveAs(Response.OutputStream);
Response.AddHeader("content-disposition", "attachchment; filename=Report_Accounting.xls");
Response.Charset = "";
Response.ContentType = "application/vnd.xls";
Response.End();
}
}
}
}