EPPlus с MemoryStream в качестве вложения электронной почты - файл пуст

Я создаю консольное приложение, которое перемещает данные в файл excel (используя библиотеку EPPlus). Я сохраняю ExcelPackage как MemoryStream, и я хочу прикрепить его к электронной почте. Однако, когда я получаю письмо, файл Excel пуст - 0 байт.

Мысли?

        MemoryStream outputStream = new MemoryStream();
        using (ExcelPackage package = new ExcelPackage(outputStream)) {

                // export each facility rollup and detail to tabs in Excel (two tabs per facility)
                ExcelWorksheet facilityWorksheet = package.Workbook.Worksheets.Add(row["facility_id"].ToString());
                ExcelWorksheet facilityDetail = package.Workbook.Worksheets.Add(row["facility_id"].ToString() + "-detail");

                facilityWorksheet.Cells.LoadFromDataTable(rollupData, true);
                facilityDetail.Cells.LoadFromDataTable(rawExceptions, true);

                package.Save();
        }

Здесь приведен код для создания вложения электронной почты:

Attachment attachment = new Attachment(outputStream, "ECO_exceptions.xlsx", "application/vnd.ms-excel");

Ответы

Ответ 1

После еще нескольких поисков я нашел решение. По-видимому, мне нужно было явно установить начальную позицию MemoryStream, прежде чем передать ее в качестве вложения. Следующая строка кода сделала трюк:

outputStream.Position = 0;