Reputation: 89
I need to give download option in MVC for that i have returned one function its generate the excel and downloaded in local but after deployed in server its redirecting but generate the excel file.
My Codes
Views
<a href="/Report/StockOnHandToExcel" style="font-weight: bold" >Export To Excel</a>
Controller
public void StockOnHandToExcel()
{
try
{
var dt = DataTableClass.ToDataTable(_report.StockOnHandExcelList());
var stream = ExcelUtility.GetExcel(dt);
var filename = "StockOnHand.xlsx";
var contenttype = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.Clear();
Response.ContentType = contenttype;
Response.AddHeader("content-disposition", "attachment;filename=" + filename);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.BinaryWrite(stream.ToArray());
Response.End();
}
catch (Exception ex)
{
ErrorHandlerClass.LogMessage(ex.Message + ex.StackTrace);
}
}
Thanks In Advance
Upvotes: 0
Views: 1160
Reputation: 104
public FileResult StockOnHandToExcel()
{
try
{
var dt = DataTableClass.ToDataTable(_report.StockOnHandExcelList());
var stream = ExcelUtility.GetExcel(dt);
int length = (int)stream.Length;
byte[] data = new byte[length];
stream.Position = 0;
stream.Read(data, 0, length);
var fileStream = new MemoryStream(data);
return File(fileStream, "application/ms-excel", "StockOnHand.xls");
}
catch (Exception ex)
{
ErrorHandlerClass.LogMessage(ex.Message + ex.StackTrace);
}
}
//it may be work!
Upvotes: 1