Как создать файл Excel с использованием OpenXML без создания локального файла?

Можно ли создавать и редактировать документ Excel с помощью OpenXML SDK без создания локального файла?

Согласно документации, метод Create требует filepath, который создает локальную копию файла.

SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(filepath, SpreadsheetDocumentType.Workbook);

Я имею в виду статью MSDN здесь: https://msdn.microsoft.com/en-us/library/офис /ff478153.aspx

Мое требование - создать файл, и он должен быть загружен браузером при нажатии кнопки.

Есть предложения?

12 голосов | спросил Bishnu D. 27 AMpMon, 27 Apr 2015 07:59:05 +030059Monday 2015, 07:59:05

1 ответ


0

Вы могли бы использовать перегрузку SpreadsheetDocument.Create , который принимает Stream и передает ему MemoryStream:

MemoryStream memoryStream = new MemoryStream();
SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(memoryStream, SpreadsheetDocumentType.Workbook);

//add the excel contents...

//reset the position to the start of the stream
memoryStream.Seek(0, SeekOrigin.Begin);

return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

Обратите внимание, что согласно этот вопрос StackOverflow вам не нужно утилизировать поток, как это будет сделано FileStreamResult класс.

ответил petelids 29 PMpWed, 29 Apr 2015 19:58:18 +030058Wednesday 2015, 19:58:18

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132