ASP.NET MVC EPPlus Télécharger le Fichier Excel

Donc je suis en utilisant la fantaisie EPPlus bibliothèque pour écrire un fichier Excel et de sortie de l'utilisateur à télécharger. Pour la méthode suivante, je suis juste en utilisant des données de test pour réduire dans le code, alors je vais ajouter le code que j'utilise pour se connecter à la base de données plus tard. Maintenant je peux télécharger un fichier tous très bien, mais quand je vais pour ouvrir le fichier Excel se plaint que ce n'est pas un fichier valide et peut être endommagé. Quand je vais regarder le fichier, il dit que c'est 0KB grand. Donc ma question est, où vais-je tort? Je suis en supposant que c'est avec le MemoryStream. N'ai pas fait beaucoup de travail avec des cours d'eau avant, donc je ne suis pas exactement sûr de ce que d'utiliser ici. Toute aide serait appréciée!

[Authorize]
public ActionResult Download_PERS936AB()
{
    ExcelPackage pck = new ExcelPackage();
    var ws = pck.Workbook.Worksheets.Add("Sample1");

    ws.Cells["A1"].Value = "Sample 1";
    ws.Cells["A1"].Style.Font.Bold = true;
    var shape = ws.Drawings.AddShape("Shape1", eShapeStyle.Rect);
    shape.SetPosition(50, 200);
    shape.SetSize(200, 100);
    shape.Text = "Sample 1 text text text";

    var memorystream = new MemoryStream();
    pck.SaveAs(memorystream);
    return new FileStreamResult(memorystream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { FileDownloadName = "PERS936AB.xlsx" };
}
Un blog détaillée : sforsuresh.dans/...

OriginalL'auteur Chiggins | 2013-09-10