在我的项目中,用户可以搜索学生的详细信息并将其导出到excel。我正在使用OpenOfficeXMl
来实现这一目标。
单击搜索按钮后,excel将与数据一起下载。
excel下载完成后是否可以重定向到另一个页面。
我正在将数据分配给数据表,然后它将提取到excel,如下所示。
using (ExcelPackage pck = new ExcelPackage())
{
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("PData");
ws.Cells["A1"].LoadFromDataTable(p_data, true);
Response.Clear();
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment; filename=School-" + DateTime.Now + "-file" + ".xlsx");
Response.BinaryWrite(pck.GetAsByteArray());
Response.End();
}
return View()
之后可以Redirect
或Response.End()
吗?
修改
下载excel后,我需要导航到另一个页面以显示在excel中导出的相同数据。像return View(Data)
其中Data
是IpagedList
对象
答案 0 :(得分:0)
您无法将excel文件发送到响应并同时重定向。
在这种情况下,一种方法可能是简单地返回一个View,并传递一个包含IpagedList的视图模型以及指向pdf的链接。不需要重定向;除非您以前的行动是POST。
在结果页面中,您可以显示IpagedList信息以及他们可以单击下载excel文件的链接,甚至可以从jquery自动下载,例如打开一个URL指向您的pdf的新窗口。 / p>