Я хочу создать файл Excel динамически на C#, и мне нужно сделать его загружаемым в HTML-кнопку AngularJS Click.Преобразование Excel в поток памяти и загрузка через AngularJS
я сослался на ссылку, чтобы создать Excel динамически http://www.increvcorp.com/manipulating-excel-spreadsheet-using-c/
Это работает нормально. Но он сохраняет файл в локальном хранилище
xlWorkBook.SaveAs("D:\\Mobile_List.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
я говорил еще один пост, они дали идею обращенные непосредственно из книги в поток памяти - Convert excel workbook to byte[].
Но, на этом посту они использовали
MemoryStream m = new MemoryStream();
workbook.SaveToStream(m);
Я не могу в состоянии найти способ SaveToStream
в моей книге, это показывает ошибку
«Microsoft.Office.Interop. Excel.Workbook 'не содержит определения для' SaveToStream 'и не использует метод расширения' SaveToStream ' , принимающий первый аргумент типа ' Microsoft.Office.Interop.Excel.Workbook 'можно найти (вы отсутствует директива по использованию или ссылка на сборку?)
Как я могу сделать это как поток памяти и отправить его обратно в AngularJS для загрузки, нажав кнопку HTML?
Я сослался еще на AngularJS $http-post - convert binary to excel file and download - он объяснил только часть angularJS и PHP. Объяснений для C# нет, это основная причина, по которой я задаю этот вопрос.
Просьба помочь мне ...
Примечание: Не превратить его из локального хранилища ...
Как конвертировать без сохранения его в местный? пожалуйста, дайте мне идею ... –
Вы можете попробовать и сохранить книгу с помощью [Workbook.SaveCopyAs] (https://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook. savecopyas.aspx) во временной папке с меткой времени, прикрепленной к ее имени файла, а затем снова прочитайте ее с помощью метода @ Sidewinder94. – rinukkusu