C#OpenXML从内存流中检索

时间:2019-07-04 01:30:59

标签: c# winforms openxml

我有一个当前应用程序,需要将DataGridView中的值导出到excel文件而不保存。我正在使用MS Office Interop,它的效果很好,但是如果记录太大,则导出需要花费很长时间。我做了一些研究,发现了OpenXML,并应用了它,看起来很棒,我只能在不到3秒的时间内生成27,000条记录。

我需要在Excel中打开它而不保存它。因此,我创建了一个代码,该代码将在memoryStream中创建OpenXML文档。我已经有了这段代码来在MemoryStream中创建文件。

所以我的问题是如何在Excel应用程序的memoryStream中打开文档?

下面是我的代码:

 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);

0 个答案:

没有答案