У меня есть текущее приложение, которому нужно экспортировать значения в DataGridView
в файл Excel, не сохраняя его.Я использую MS Office Interop, это прекрасно работает, но если записи настолько большие, это заняло так много времени для экспорта.Я провел некоторое исследование и узнал о OpenXML
, применил его и выглядел великолепно, я могу сгенерировать 27 000 записей всего за 3 секунды.
Мне нужно открыть его в Excel, не сохраняя его.Поэтому я создал код, который будет создавать документ OpenXML в memoryStream.У меня уже есть этот код для создания файла в MemoryStream.
Итак, мой вопрос: как я могу открыть документ в memoryStream в приложении Excel?
Ниже мой код:
MemoryStream documentStream = new MemoryStream();
using (var workbook = SpreadsheetDocument.Create(documentStream, DocumentFormat.OpenXml.SpreadsheetDocumentType.Workbook))
{
\\code to create the document
workbook.WorkbookPart.Workbook.Save();
workbook.Close();
}
//saw this code to open the Stream file but not working.
var doc = SpreadsheetDocument.Open(documentStream, true);