【发布时间】:2013-05-02 19:30:39
【问题描述】:
我无法将数据导出到 Excel。以下似乎将gridview呈现到我的视图中,而不是提示用户使用我在我的机器上安装的Excel打开。
Public ActionResult ExportToExcel()
{
var products = this.Repository.Products.ToList();
var grid = new GridView();
grid.DataSource = from p in products
select new
{
Id = p.Id,
Name = p.Name
};
grid.DataBind();
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls");
Response.ContentType = "application/ms-excel";
Response.Charset = "";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
grid.RenderControl(htw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
return View("MyView");
}
我做错了什么?
【问题讨论】:
-
当我尝试返回视图时,应用程序中的某些内容无法正常工作。我最终不得不使用 return RedirectToAction("Action", "MyController");
标签: asp.net-mvc export-to-excel