我正在阅读从外部Excel文件流创建OpenXml SpreadsheetDocument,并添加一些公式和值。
但是,当我尝试将其保存到流中时,它会丢失大部分数据而无法打开。
以下是我使用的代码:
var stream= new MemoryStream();
.
.
.
spreadsheetDocument.WorkbookPart.Workbook.Save(stream);
stream = new MemoryStream(stream.ToArray());
stream.Position = 0;
return stream;
答案 0 :(得分:0)
真的有两个MemoryStream
吗?
尝试从tempStream
中获取新的MemoryStream
。
例如:
spreadsheetDocument.WorkbookPart.Workbook.Save(tempStream);
tempStream.Flush();
stream = new MemoryStream(tempStream.ToArray());
另外,您是将输出保存到文件还是从内存中读取?只要MemoryStream
.Close()
,{{1}}的内容就会在逻辑上丢失。