我有一个当前应用程序,需要将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);