Итак, я использую причудливую библиотеку EPPlus, чтобы написать файл Excel и вывести его пользователю для загрузки. Для следующего метода я просто использую некоторые тестовые данные для минимизации кода, а затем добавлю код, который использую для подключения к базе данных позже. Теперь я могу загрузить файл в порядке, но когда я открываю файл, Excel жалуется, что это недействительный файл и может быть поврежден. Когда я смотрю на файл, он говорит, что он 0 КБ. Итак, мой вопрос: где я ошибаюсь? Я предполагаю, что это с MemoryStream. Раньше я мало работал с потоками, поэтому я не совсем уверен, что здесь использовать. Любая помощь будет оценена по достоинству!
[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" };
}