将OpenXML SpreadsheetDocument保存到流

时间:2017-12-01 09:30:17

标签: c# excel openxml

我正在阅读从外部Excel文件流创建OpenXml SpreadsheetDocument,并添加一些公式和值。

但是,当我尝试将其保存到流中时,它会丢失大部分数据而无法打开。

以下是我使用的代码:

var stream= new MemoryStream();
.
.
.
spreadsheetDocument.WorkbookPart.Workbook.Save(stream);
stream = new MemoryStream(stream.ToArray());
stream.Position = 0;

return stream;

1 个答案:

答案 0 :(得分:0)

真的有两个MemoryStream吗?

尝试从tempStream中获取新的MemoryStream。 例如:

spreadsheetDocument.WorkbookPart.Workbook.Save(tempStream);
tempStream.Flush();
stream = new MemoryStream(tempStream.ToArray());

另外,您是将输出保存到文件还是从内存中读取?只要MemoryStream .Close(),{{1}}的内容就会在逻辑上丢失。

相关问题