Exportieren von Daten in eine Excel-Datei mit ASP.NET MVC 4 C # wird angezeigt

Ich habe Probleme beim Exportieren von Daten nach Excel. Das Folgende scheint die Rasteransicht in meine Ansicht zu rendern, anstatt den Benutzer zum Öffnen mit Excel aufzufordern, das ich auf meinem Computer installiert habe.

 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"); 
}

Was mache ich falsch?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage